1

我有一些包含字符串的文件,需要使用 perl 将它们转换为 UTF8 是否有任何选项使用 perl 来运行这些文件并将每个字符串转换为 utf8,如果某些字符串是 utf8 编码以保持原样?

4

2 回答 2

5

您说文件的某些部分使用 UTF-8 编码,而某些部分使用其他编码,但您没有指定其他编码,这很重要。

一般来说,不可能通过查看字符串来判断字符串的编码。但是,如果您处理的是 US-ASCII、iso-8859-1、cp1252 和 UTF-8 的混合体,那么您实际上很可能知道*,并且有人已经为您编写了该工具。

Encoding::FixLatin附带一个名为的脚本,该脚本fix_latin会将混合了上述编码的文件转换为 UTF-8。

于 2012-04-30T04:01:40.920 回答
2

您可以使用Encode模块在编码之间进行转换。(无需安装任何东西;它是核心库的一部分。)请注意,“将字符串转换为 UTF-8 ”要求您知道要转换的编码是什么;没有办法可靠地识别 8 位文本编码。

于 2012-04-30T00:24:21.017 回答