Преобразуйте список в строку в DART?
-
13-12-2019 - |
Вопрос
Я прочитал файл и получил список целых чисел.Для большей части моей работы это то, что я хочу получить, но в одном случае мне также нужно преобразовать некоторые генеракодицетагкод в генеракодицетагкод.
Быть более указанным, я хочу кодировать строку в UTF-8.
Это то, что я просто пробовал:
var decoder = new Utf8Decoder(figures);
print(decoder.decodeRest());
.
Но все, что я получаю, это список целых чисел.
Решение
String.fromCharCodes(List<int> charCodes)
, вероятно, вы ищете.
List<int> charCodes = const [97, 98, 99, 100];
print(new String.fromCharCodes(charCodes));
. Другие советы
Вы можете использовать dart: convert библиотека, которая предоставляет UTF-8 кодек:
import 'dart:convert';
void main() {
List<int> charCodes = [97, 98, 99, 100];
String result = UTF8.decode(charCodes);
print(result);
}
. Как уже упоминалось 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"
. Вы можете использовать библиотеку dart:convert
, которая предоставляет кодек UTF-8, но обязательно использовать
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);
.