当前位置:首页 > 行业动态 > 正文

HTML Flutter http response.body 错误的 utf8 编码

可以尝试使用 utf8.decode() 函数对 response.body 进行解码,,,“ dart,var bodyBytes = response.bodyBytes;,var bodyString = utf8.decode(bodyBytes);,“

HTML Flutter http response.body 错误的 utf8 编码

单元表格:

问题 描述 解决方法
问题1 在使用 Flutter 的 http 请求时,response.body 返回的数据出现乱码 可以尝试使用 utf8.decode() 对 response.body 进行解码
问题2 response.body 返回的数据无法正确解析为字符串 可以尝试将 response.body 转换为 String 类型,并指定正确的编码格式(如 utf8)

相关问题与解答:

问题1:在使用 Flutter 的 http 请求时,response.body 返回的数据出现乱码。

解答:当使用 Flutter 的 http 请求时,response.body 返回的数据出现乱码,可以尝试使用 utf8.decode() 对 response.body 进行解码,示例代码如下:

import 'dart:convert';
import 'dart:io';
import 'package:http/http.dart' as http;
Future<void> main() async {
  final response = await http.get('https://example.com');
  if (response.statusCode == 200) {
    final bodyBytes = response.bodyBytes;
    final utf8DecodedBody = utf8.decode(bodyBytes);
    final bodyString = utf8DecodedBody; // 现在可以正确解析为字符串了
    print(bodyString);
  } else {
    print('请求失败');
  }
}

问题2:response.body 返回的数据无法正确解析为字符串。

解答:当 response.body 返回的数据无法正确解析为字符串时,可以尝试将 response.body 转换为 String 类型,并指定正确的编码格式(如 utf8),示例代码如下:

import 'dart:convert';
import 'dart:io';
import 'package:http/http.dart' as http;
Future<void> main() async {
  final response = await http.get('https://example.com');
  if (response.statusCode == 200) {
    final bodyBytes = response.bodyBytes;
    final bodyString = utf8.decode(bodyBytes); // 使用 utf8 编码格式解码 bodyBytes
    print(bodyString); // 现在可以正确解析为字符串了
  } else {
    print('请求失败');
  }
}
0