Utf8Decoderfinal

此类将 UTF-8 码单元(无符号 8 位整数的列表)转换为字符串。

示例

final utf8Decoder = utf8.decoder;
const encodedBytes = [
  195, 142, 195, 177, 197, 163, 195, 169, 114, 195, 177, 195, 165, 197,
  163, 195, 174, 195, 182, 195, 177, 195, 165, 196, 188, 195, 174, 197,
  190, 195, 165, 197, 163, 195, 174, 225, 187, 157, 195, 177];

final decodedBytes = utf8Decoder.convert(encodedBytes);
print(decodedBytes); // Îñţérñåţîöñåļîžåţîờñ

如果编码的输入包含无效的 UTF-8 字节序列且 allowMalformed 设置为 false(默认值),则会抛出 FormatException

如果 allowMalformed 设置为 true,则无效的字节序列将转换为一个或多个 Unicode 替换字符,U+FFFD ('�')。

allowMalformed 设置为 true 的示例

const utf8Decoder = Utf8Decoder(allowMalformed: true);
const encodedBytes = [0xFF];
final decodedBytes = utf8Decoder.convert(encodedBytes);
print(decodedBytes); // �
继承

构造函数

Utf8Decoder({bool allowMalformed = false})
实例化一个新的 Utf8Decoder
const

属性

hashCode int
此对象的哈希码。
无设置器继承
runtimeType Type
对象的运行时类型的表示。
无设置器继承

方法

bind(Stream<List<int>> stream) Stream<String>
转换提供的 stream
override
cast<RS, RT>() Converter<RS, RT>
提供了此流转换器的 Converter<RS, RT> 视图。
继承
convert(List<int> codeUnits, [int start = 0, int? end]) String
将 UTF-8 的 codeUnits(无符号 8 位整数的列表)转换为相应的字符串。
override
fuse<T>(Converter<String, T> next) Converter<List<int>, T>
融合 thisother
override
noSuchMethod(Invocation invocation) → dynamic
当访问不存在的方法或属性时调用。
继承
startChunkedConversion(Sink<String> sink) ByteConversionSink
启动一个分块转换。
override
toString() String
此对象的一个字符串表示形式。
继承

运算符

operator ==(Object other) bool
等于运算符。
继承