Spec-Zone.ru › Dart 1

Библиотека 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API