Flutter http.Response 得到错误的字符值

问题描述 投票:0回答:1

我正在使用以下代码来获取我的数据。但是,当我的字符串由特殊符号/字符 () 组成时,某些特殊符号/字符将变成其他一些奇怪的字符。我确实尝试调试形成响应的代码,并且一切正常。但是我从 flutter 打印出来的响应正文返回了奇怪的字符。谁能知道这是怎么发生的以及我应该做什么才能获得预期的结果?

示例:

示例和预期字符串:

-/:;()£&@.,?!’[]{}#%^*+=_\\|~<>€¥•.,?!’

响应输出字符串:

-/:;()£&@.,?!’[]{}#%^*+=_\\|~<>€$¥•.,?!’

API调用示例代码:

import 'package:http/http.dart' as http;

var streamedResponse = await request.send()
var response = await http.Response.fromStream(streamedResponse);
flutter dart special-characters httpresponse
1个回答
0
投票

您遇到的问题与字符编码有关。当您收到 API 的响应时,特殊字符未正确解码。

import 'dart:convert';

// Decode the response body using UTF-8 encoding
var decodedBody = utf8.decode(response.bodyBytes);
© www.soinside.com 2019 - 2024. All rights reserved.