【发布时间】:2018-08-08 20:42:06
【问题描述】:
所以您可能知道,在 Perl 中,“utf8”意味着 Perl 对 UTF-8 的更松散的理解,它允许在技术上不是 UTF-8 中有效代码点的字符。相比之下,“UTF-8”(或“utf-8”)是 Perl 对 UTF-8 更严格的理解,它不允许无效的代码点。
我有几个与此区别相关的使用问题:
默认情况下,Encode::encode 会将无效字符替换为替换字符。即使您将较宽松的“utf8”作为编码传递,这是真的吗?
当您使用“UTF-8”读写
open'd 文件时会发生什么?字符替换会发生在坏字符上还是会发生其他情况?将
open与 '>:utf8' 之类的层和 '>:encoding(utf8)' 之类的层一起使用有什么区别?两种方法都可以与“utf8”和“UTF-8”一起使用吗?
【问题讨论】:
标签: perl