我已经阅读了一个文件并获得了一个整数列表。对于我的大多数工作,这是我想要的,但在一个案例中,我还需要将一些List<int>
转换为String
。
更具体地说,我想用UTF-8编码字符串。
这就是我刚刚尝试过的:
var decoder = new Utf8Decoder(figures);
print(decoder.decodeRest());
但我得到的只是一个整数列表。
答案 0 :(得分:13)
String.fromCharCodes(List<int> charCodes)
可能就是你要找的东西。
List<int> charCodes = const [97, 98, 99, 100];
print(new String.fromCharCodes(charCodes));
答案 1 :(得分:5)
您可以使用提供UTF-8编解码器的dart:convert库:
import 'dart:convert';
void main() {
List<int> charCodes = [97, 98, 99, 100];
String result = UTF8.decode(charCodes);
print(result);
}
答案 2 :(得分:4)
如上所述String.fromCharCodes(List<int> charCodes)
可能是您想要将unicode字符转换为字符串的内容。但是,如果你想要的只是将列表合并到一个字符串中,你可以使用Strings.join(List<String> strings, String separator)
。
Strings.join([1,2,3,4].map((i) => i.toString()), ",")) // "1,2,3,4"
答案 3 :(得分:0)
您可以使用dart:convert
库,该库提供UTF-8编解码器,但请确保使用 utf8 all small 来使用其方法。
List<int> byteArray = [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100];
String result = utf8.decode(byteArray);
List<int> orginal = utf8.encode(result);