此类将 Latin-1 字节(无符号 8 位整数列表)转换为字符串。
示例
final latin1Decoder = latin1.decoder;
const encodedBytes = [224, 225, 226, 227, 228, 229];
final decoded = latin1Decoder.convert(encodedBytes);
print(decoded); // àáâãäå
// Hexadecimal values as source
const hexBytes = [0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5];
final decodedHexBytes = latin1Decoder.convert(hexBytes);
print(decodedHexBytes); // àáâãäå
如果编码输入包含不在 0 .. 255 范围内的值且 allowInvalid
为 false(默认值),则抛出 FormatException。
如果 allowInvalid
为 true,无效的字节将转换为 Unicode 替换字符 U+FFFD (�)。
将 allowInvalid
设置为 true 的示例
const latin1Decoder = Latin1Decoder(allowInvalid: true);
const encodedBytes = [300];
final decoded = latin1Decoder.convert(encodedBytes);
print(decoded); // �
构造函数
- Latin1Decoder({bool allowInvalid = false})
- 实例化一个新的 Latin1Decoder。const
属性
- hashCode → int
- 此对象的哈希码。无设置器继承
- runtimeType → Type
- 对象运行时类型的表示。无设置器继承
方法
-
bind(
Stream< List< stream) → Stream<int> >String> - 转换提供的
stream
。继承 -
cast<
RS, RT> () → Converter< RS, RT> - 为此流转换器提供
Converter<RS, RT>
视图。继承 -
convert(
List< int> bytes, [int start = 0, int? end]) → String - 将字节(无符号7或8位整数列表)转换为相应的字符串。继承
-
fuse<
TT> (Converter< String, TT> other) → Converter<List< int> , TT> - 将此与
other
融合。继承 -
noSuchMethod(
Invocation invocation) → dynamic - 当访问不存在的方法或属性时调用。继承
-
startChunkedConversion(
Sink< String> sink) → ByteConversionSink - 开始分块转换。
-
toString(
) → String - 此对象的字符串表示。继承
运算符
-
operator ==(
Object other) → bool - 相等运算符。继承