Класс Utf8Codec
Класс Utf8Codec предоставляет методы для кодирования
строк в последовательности байтов формата UTF-8 и декодирования
байтов обратно в строки. UTF-8 - это стандартная кодировка,
поддерживающая все символы Unicode. Класс доступен через
константу utf8 из библиотеки dart:convert.
Первый параметр методов - исходные данные для преобразования.
Синтаксис
import 'dart:convert';
utf8.encode(input)
utf8.decode(bytes)
Пример
Давайте закодируем строку 'abcde' в последовательность
байтов UTF-8 с помощью метода encode:
import 'dart:convert';
void main()
{
List<int> res = utf8.encode('abcde');
print(res);
}
Результат выполнения кода:
[97, 98, 99, 100, 101]
Пример
Давайте декодируем последовательность байтов обратно
в строку с помощью метода decode:
import 'dart:convert';
void main()
{
String res = utf8.decode([97, 98, 99, 100, 101]);
print(res);
}
Результат выполнения кода:
"abcde"
Пример
Давайте закодируем строку с русскими символами и посмотрим на размер полученных байтов:
import 'dart:convert';
void main()
{
List<int> bytes = utf8.encode('привет');
print(bytes);
print(bytes.length);
}
Результат выполнения кода:
[208, 191, 209, 128, 208, 184, 208, 178, 208, 181, 209, 130]
12
Смотрите также
-
метод
utf8.encode,
который кодирует строку в байты UTF-8 -
метод
utf8.decode,
который декодирует байты UTF-8 в строку -
класс
Utf8Encoder,
который выполняет кодирование UTF-8 -
класс
Utf8Decoder,
который выполняет декодирование UTF-8