dart:convert library

编码器和解码器,用于在不同的数据表示形式(包括JSON和UTF-8)之间进行转换.

除了用于通用数据表示的转换器外,该库还以易于链接和与流结合使用的方式为实现转换器提供支持.

要在您的代码中使用此库:

import 'dart:convert';

Two commonly used converters are the top-level instances of JsonCodec and Utf8Codec, named json and utf8, respectively.

JSON是一种简单的文本格式,用于表示结构化对象和集合. JSON编码器/解码器使用JSON格式在字符串和对象结构(例如列表和映射)之间进行转换.

UTF-8是一种常见的可变宽度编码,可以表示Unicode字符集中的每个字符. UTF-8编码器/解码器在字符串和字节之间转换.

转换器通常与流一起使用,以转换流中可用的数据. 以下代码使用两个转换器. 第一个是UTF-8解码器,它将从文件中读取的数据从字节转换为UTF-8,第二个是LineSplitter的实例,该实例在换行边界上拆分数据.

var lineNumber = 1;
var stream = File('quotes.txt').openRead();

stream.transform(utf8.decoder)
      .transform(const LineSplitter())
      .listen((line) {
        if (showLineNumbers) {
          stdout.write('${lineNumber++} ');
        }
        stdout.writeln(line);
      });

有关创建自己的转换器的信息,请参见CodecConverter类的文档.

Classes

AsciiCodec
AsciiCodec允许将字符串编码为ASCII字节,并将ASCII字节解码为字符串.
AsciiDecoder
AsciiEncoder
此类将仅ASCII字符的字符串转换为字节.
Base64Codec
Base64编码器和解码器. [...]
Base64Decoder
用于base64编码数据的解码器. [...]
Base64Encoder
Base64和base64url编码转换器. [...]
ByteConversionSink
ByteConversionSink为转换器提供了一个接口,以有效地传输字节数据. [...]
ByteConversionSinkBase
此类为需要接受字节输入的转换器提供了一个基类.
ChunkedConversionSink<T>
ChunkedConversionSink用于在分块转换期间在两个转换器之间更有效地传输数据. [...]
ClosableStringSink
ClosableStringSink延伸StringSink通过添加界面close方法.
Codec<S, T>
解码器对数据进行编码和(如果支持)解码. [...]
Converter<S, T>
转换器将数据从一种表示形式转换为另一种形式. [...]
Encoding
开放式编码枚举.
HtmlEscape
转换器,用于转义具有特殊含义的HTML字符. [...]
HtmlEscapeMode
HTML转义模式. [...]
JsonCodec
JsonCodec将JSON对象编码为字符串,并将字符串解码为JSON对象. [...]
JsonDecoder
此类解析JSON字符串并构建相应的值. [...]
JsonEncoder
此类将JSON对象转换为字符串. [...]
JsonUtf8Encoder
将单个对象编码为UTF-8编码的JSON字符串的编码器. [...]
Latin1Codec
Latin1Codec将字符串编码为ISO Latin-1(aka utf-8)字节,并将Latin-1字节解码为字符串.
Latin1Decoder
此类将Latin-1字节(无符号8位整数的列表)转换为字符串.
Latin1Encoder
此类将仅ISO Latin-1字符的字符串转换为字节.
LineSplitter
一个StreamTransformer ,它将一个String分成几行. [...]
StringConversionSink
此类为转换器提供了一个接口,以有效地传输String数据. [...]
StringConversionSinkBase
此类为需要接受String输入的转换器提供了一个基类.
StringConversionSinkMixin
此类为需要接受String输入的转换器提供了mixin.
Utf8Codec
Utf8Codec将字符串编码为utf-8代码单元(字节),并将UTF-8代码单元解码为字符串.
Utf8Decoder
此类将UTF-8代码单元(无符号8位整数列表)转换为字符串.
Utf8Encoder
此类将字符串转换为其UTF-8代码单元(无符号8位整数的列表).

Constants

ascii → const AsciiCodec
AsciiCodec的默认实现的实例 . [...]
const AsciiCodec ()
base64 → const Base64Codec
Base64编码器和解码器. [...]
const Base64Codec ()
base64Url → const Base64Codec
base64url编码器和解码器. [...]
const Base64Codec.urlSafe()
htmlEscape → const HtmlEscape
一个将字符转换为HTML实体的String转换器. [...]
const HtmlEscape ()
json → const JsonCodec
JsonCodec的默认实现的实例 . [...]
const JsonCodec ()
latin1 → const Latin1Codec
Latin1Codec的默认实现的实例 . [...]
const Latin1Codec ()
unicodeBomCharacterRune → const int
Unicode字节顺序标记(BOM)字符U+FEFF .
0xFEFF
unicodeReplacementCharacterRune → const int
Unicode替换字符U+FFFD ( ).
0xFFFD
utf8 → const Utf8Codec
Utf8Codec的默认实现的实例 . [...]
const Utf8Codec ()

Functions

base64Decode(String source) Uint8List
解码base64base64url编码的字节. [...]
base64Encode(List<int> bytes) String
Encodes bytes using base64 encoding. [...]
base64UrlEncode(List<int> bytes) String
Encodes bytes using base64url encoding. [...]
jsonDecode(String source, {Object reviver(Object key, Object value)}) → dynamic
解析字符串并返回生成的Json对象. [...]
jsonEncode(Object value, {Object toEncodable(Object nonEncodable)}) String
value转换为JSON字符串. [...]

Exceptions / Errors

JsonCyclicError
报告对象由于循环引用而无法进行字符串化. [...]
JsonUnsupportedObjectError
如果对象无法序列化,JSON序列化将引发错误. [...]