Вопрос

Я прочитал файл и получил список целых чисел.Для большей части моей работы это то, что я хочу получить, но в одном случае мне также нужно преобразовать некоторые генеракодицетагкод в генеракодицетагкод.

Быть более указанным, я хочу кодировать строку в 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, но обязательно использовать UTF8 все маленькие для использования его методов.

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);
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top