将List <int>转换为Dart中的String?</int>

时间:2012-07-29 15:30:25

标签: dart

我已经阅读了一个文件并获得了一个整数列表。对于我的大多数工作,这是我想要的,但在一个案例中,我还需要将一些List<int>转换为String

更具体地说,我想用UTF-8编码字符串。

这就是我刚刚尝试过的:

var decoder = new Utf8Decoder(figures);
print(decoder.decodeRest());

但我得到的只是一个整数列表。

4 个答案:

答案 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);