Библиотека dart:convert
Кодировщики и декодировщики для преобразования между различными представлениями данных, включая JSON и UTF-8.
В дополнение к преобразователям для общих представлений данных, эта библиотека предоставляет поддержку для реализации преобразователей таким образом, чтобы их было легко объединять в цепочки и использовать с потоками.
Чтобы использовать эту библиотеку в своем коде:
import 'dart:convert';
Два часто используемых преобразователя — это глобальные экземпляры JsonCodec и Utf8Codec, которые называются JSON и UTF8 соответственно.
JSON — это простой текстовый формат для представления структурированных объектов и коллекций. Кодировщик/декодер JSON преобразует между строками и структурами объектов, такими как списки и карты, используя формат JSON.
UTF-8 — это общее кодирование с переменной длиной, которое может представлять любой символ в наборе символов Unicode. Кодировщик/декодер UTF-8 преобразует между строками и байтами.
Преобразователи часто используются с потоками для преобразования данных, поступающих через поток по мере их доступности. Следующий код использует два преобразователя. Первый — это декодер UTF-8, который преобразует данные из байтов в UTF-8 по мере их чтения из файла. Второй — экземпляр LineSplitter, который разделяет данные по границам новой строки.
int lineNumber = 1;
Stream<List<int>> stream = new File('quotes.txt').openRead();
stream.transform(UTF8.decoder)
.transform(const LineSplitter())
.listen((line) {
if (showLineNumbers) {
stdout.write('${lineNumber++} ');
}
stdout.writeln(line);
});
См. документацию для классов Codec и Converter для получения информации о создании собственных преобразователей.
Константы
- ASCII → AsciiCodec
-
Экземпляр по умолчанию реализации AsciiCodec.
const AsciiCodec() - BASE64 → Base64Codec
-
Кодировщик и декодер base64.
const Base64Codec() - BASE64URL → Base64Codec
-
Кодировщик и декодер base64url.
const Base64Codec.urlSafe() - HTML_ESCAPE → HtmlEscape
-
Преобразователь, который преобразует символы в HTML-сущности.
const HtmlEscape() - JSON → JsonCodec
-
Экземпляр по умолчанию реализации JsonCodec.
const JsonCodec() - LATIN1 → Latin1Codec
-
Экземпляр по умолчанию реализации Latin1Codec.
const Latin1Codec() - UNICODE_BOM_CHARACTER_RUNE → int
-
Символ Unicode Byte Order Marker (BOM).
0xFEFF - UNICODE_REPLACEMENT_CHARACTER_RUNE → int
-
Символ замены Unicode (�).
0xFFFD - UTF8 → Utf8Codec
-
Экземпляр по умолчанию реализации Utf8Codec.
const Utf8Codec()
Классы
- AsciiCodec
-
AsciiCodec позволяет кодировать строки как байты ASCII и декодировать байты ASCII в строки.
- AsciiDecoder
- AsciiEncoder
-
Этот класс преобразует строки, содержащие только символы ASCII, в байты.
- Base64Codec
-
Кодировщик и декодер base64.
- Base64Decoder
-
Декодер для данных, закодированных в base64.
- Base64Encoder
-
Преобразователь кодирования base64 и base64url.
- ByteConversionSink
-
ByteConversionSink предоставляет интерфейс для преобразователей, чтобы эффективно передавать данные байтов.
- ByteConversionSinkBase
-
Этот класс предоставляет базовый класс для преобразователей, которым необходимо принимать входные данные в виде байтов.
- ChunkedConversionSink
-
ChunkedConversionSink используется для более эффективной передачи данных между двумя преобразователями во время поблочных преобразований.
- ClosableStringSink
-
ClosableStringSink расширяет интерфейс StringSink, добавив метод
close. - Codec
-
Codec кодирует и (если поддерживается) декодирует данные.
- Converter
-
Converter преобразует данные из одного представления в другое.
- Encoding
-
Открытый перечисление Encoding.
- HtmlEscape
-
Преобразователь, который экранирует символы со специальным значением в HTML.
- HtmlEscapeMode
-
Режимы экранирования HTML.
- JsonCodec
-
JsonCodec кодирует JSON-объекты в строки и декодирует строки в JSON-объекты.
- JsonDecoder
-
Этот класс анализирует JSON-строки и создает соответствующие объекты.
- JsonEncoder
-
Этот класс преобразует JSON-объекты в строки.
- JsonUtf8Encoder
-
Кодировщик, который кодирует один объект как UTF-8 закодированную JSON-строку.
- Latin1Codec
-
Latin1Codec кодирует строки в байты ISO Latin-1 (также известные как ISO-8859-1) и декодирует байты Latin-1 в строки.
- Latin1Decoder
-
Этот класс преобразует байты Latin-1 (списки беззнаковых 8-битных целых чисел) в строку.
- Latin1Encoder
-
Этот класс преобразует строки, содержащие только символы ISO Latin-1, в байты.
- LineSplitter
-
StreamTransformer, который разбивает строку на отдельные строки.
- StringConversionSink
-
Этот класс предоставляет интерфейс для преобразователей, чтобы эффективно передавать данные String.
- StringConversionSinkBase
-
Этот класс предоставляет базовый класс для преобразователей, которым необходимо принимать строковые входные данные.
- StringConversionSinkMixin
-
Этот класс предоставляет миксин для преобразователей, которым необходимо принимать строковые входные данные.
- Utf8Codec
-
Utf8Codec кодирует строки в единицы кода utf-8 (байты) и декодирует единицы кода UTF-8 в строки.
- Utf8Decoder
-
Этот класс преобразует единицы кода UTF-8 (списки беззнаковых 8-битных целых чисел) в строку.
- Utf8Encoder
-
Этот класс преобразует строки в их единицы кода UTF-8 (список беззнаковых 8-битных целых чисел).
Исключения/ошибки
- JsonCyclicError
-
Сообщает, что объект не может быть преобразован в строку из-за циклических ссылок.
- JsonUnsupportedObjectError
-
Ошибка, выбрасываемая при сериализации JSON, если объект не может быть сериализован.
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-convert/dart-convert-library.html