转换列表 飞镖中的一个字符串?

问题描述 投票:9回答:4

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

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

这就是我刚试过的:

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

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

dart
4个回答
13
投票

String.fromCharCodes(List<int> charCodes)可能就是你想要的。

  List<int> charCodes = const [97, 98, 99, 100];
  print(new String.fromCharCodes(charCodes));

5
投票

您可以使用提供UTF-8编解码器的dart:convert库:

import 'dart:convert';

void main() {
  List<int> charCodes = [97, 98, 99, 100];
  String result = UTF8.decode(charCodes);
  print(result);
}

4
投票

如上所述,如果你想将unicode字符转换为字符串,String.fromCharCodes(List<int> charCodes)很可能就是你要找的。但是,如果你想要的只是将列表合并为一个字符串,你可以使用Strings.join(List<String> strings, String separator)

Strings.join([1,2,3,4].map((i) => i.toString()), ","))  // "1,2,3,4"

0
投票

你可以使用提供UTF-8编解码器的dart:convert库,但一定要使用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);
© www.soinside.com 2019 - 2024. All rights reserved.