【问题标题】:How to set the substitution character for encoding into ISO-8859-1如何将用于编码的替换字符设置为 ISO-8859-1
【发布时间】:2014-02-05 18:06:13
【问题描述】:

Encode 模块的文档说明了在编码时处理格式错误的字符:

CHECK = 编码::FB_DEFAULT (== 0)

如果 CHECK 为 0,编码和解码会将任何格式错误的字符替换为 替换字符。当你 编码,使用 SUBCHAR

如何指定或至少查询特定编码的替换字符是什么。我对iso-8859-1 感兴趣。

【问题讨论】:

    标签: perl character-encoding iso-8859-1


    【解决方案1】:

    你不能,但你可以使用回调来达到同样的效果。

    $ perl -MEncode -E'say encode("iso-8859-1", "ab\x{2660}d\x{E9}f")' \
       | iconv -f iso-8859-1
    ab?déf
    
    $ perl -MEncode -E'say encode("iso-8859-1", "ab\x{2660}d\x{E9}f", sub { "*" })' \
       | iconv -f iso-8859-1
    ab*déf
    

    【讨论】:

    • iconv -f iso-8859-1 是因为我有一个 UTF-8 终端)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-26
    • 1970-01-01
    • 1970-01-01
    • 2010-12-02
    • 2016-11-26
    • 2011-01-18
    • 2012-01-05
    相关资源
    最近更新 更多