将 ASCII 字节转换为字符串。
示例
const asciiDecoder = AsciiDecoder();
final asciiValues = [68, 97, 114, 116];
final result = asciiDecoder.convert(asciiValues);
print(result); // Dart
如果 bytes
包含不在 0 .. 127 范围内的值,并且 allowInvalid
设置为 false
(默认值),则抛出 FormatException。
如果 allowInvalid
设置为 true
,则超出 0..127 范围的任何字节都将被替换为 Unicode 替换字符,U+FFFD ('�')。
将 allowInvalid
设置为 true 的示例
const asciiDecoder = AsciiDecoder(allowInvalid: true);
final asciiValues = [68, 97, 114, 116, 20, 0xFF];
final result = asciiDecoder.convert(asciiValues);
print(result); // Dart �
print(result.codeUnits.last.toRadixString(16)); // fffd
构造函数
- AsciiDecoder({bool allowInvalid = false})
-
const
属性
- hashCode → int
- 此对象的哈希码。no setterinherited
- runtimeType → Type
- 对象的运行类型表示。no setterinherited
方法
-
bind(
Stream< List< stream) → Stream<int> >String> - 转换提供的
stream
。inherited -
cast<
RS, RT> () → Converter< RS, RT> - 提供此流转换器的
Converter<RS, RT>
视图。inherited -
convert(
List< int> bytes, [int start = 0, int? end]) → String - 将
bytes
(一系列无符号 7 或 8 位整数)转换为其对应的字符串。inherited -
fuse<
TT> (Converter< String, TT> other) → Converter<List< int> , TT> - 将此对象与
other
融合。inherited -
noSuchMethod(
Invocation invocation) → dynamic - 当访问不存在的方法或属性时调用。inherited
-
startChunkedConversion(
Sink< String> sink) → ByteConversionSink - 开始分块转换。
-
toString(
) → String - 此对象的字符串表示形式。inherited
运算符
-
operator ==(
Object other) → bool - 等号运算符。inherited