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

How can I convert a utf8 string to LATIN1 in Dart?

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

嗯,你可以试试这样的:

import 'dart:convert';

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

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

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