如何在 Dart 中将 utf8 字符串转换为 LATIN1?

Cai*_*lho 0 utf-8 iso-8859-1 dart flutter

我有很多重音被错误转换的字符串。我从 API 中获取这些字符串,因此无法以其他编码格式获取它们。例如,字符串从 APIé返回é。有什么办法可以转换这些字符串以正确显示重音吗?

jul*_*101 5

好吧,你可以尝试这样的事情:

import 'dart:convert';

void main() {
  const input = 'é';
  final output = utf8.decode(latin1.encode(input), allowMalformed: true);
  print(output); // é
}
Run Code Online (Sandbox Code Playgroud)

或者,您可以通过bodyBytes在响应对象上使用以字节形式从网络调用中获取响应:https : //pub.dev/documentation/http/latest/http/Response/bodyBytes.html

并用:latin1.decode或服务器发送数据的任何字符集解析它。