Encoding
角色由提供字符编码(如 ASCII 或 UTF-8)的类实现。除了内置字符编码使用它之外,用户还可以实现它以提供新的编码。执行此角色的对象实例通常使用 Encoding::Registry
获取。有关受支持编码的列表,请参阅 IO::Handle。
此角色提供的所有方法都是存根;它们应由角色的使用者实现。
方法§
方法名称§
method name(--> Str)
抽象方法,将返回编码的主名称。
方法别名§
method alternative-names()
抽象方法,应获取编码的别名列表。
方法解码器§
method decoder(* --> Encoding::Decoder)
应获取此编码的字符解码器实例,并使用提供的选项进行配置。选项因编码而异。所有内置编码都支持 translate-nl
,如果为 True
,则在解码时将 \r\n
转换为 \n
。
方法编码器§
method encoder(* --> Encoding::Encoder)
获取此编码的字符编码器实例,并使用提供的选项进行配置。选项因编码而异。所有内置编码都支持 replacement
(Str
替换序列或 True
,用于对不可编码字符使用默认替换序列)和 translate-nl
(设置为 True
时,如果当前平台是 Windows,则将 \n
转换为 \r\n
)。