如何在 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
或服务器发送数据的任何字符集。
我有很多字符串的重音转换错误。我从 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
或服务器发送数据的任何字符集。