我正在使用以下代码来获取我的数据。但是,当我的字符串由特殊符号/字符 () 组成时,某些特殊符号/字符将变成其他一些奇怪的字符。我确实尝试调试形成响应的代码,并且一切正常。但是我从 flutter 打印出来的响应正文返回了奇怪的字符。谁能知道这是怎么发生的以及我应该做什么才能获得预期的结果?
示例:
示例和预期字符串:
-/:;()£&@.,?!’[]{}#%^*+=_\\|~<>€¥•.,?!’
响应输出字符串:
-/:;()£&@.,?!’[]{}#%^*+=_\\|~<>€$¥•.,?!’
API调用示例代码:
import 'package:http/http.dart' as http;
var streamedResponse = await request.send()
var response = await http.Response.fromStream(streamedResponse);
您遇到的问题与字符编码有关。当您收到 API 的响应时,特殊字符未正确解码。
import 'dart:convert';
// Decode the response body using UTF-8 encoding
var decodedBody = utf8.decode(response.bodyBytes);