在字符集之间转换文本文件的最快、最简单的工具或方法是什么?
具体来说,我需要从 UTF-8 转换为 ISO-8859-15,反之亦然。
一切顺利:您最喜欢的脚本语言的单行代码、命令行工具或其他用于操作系统、网站等的实用程序。
迄今为止最好的解决方案:
在 Linux/UNIX/OS X/cygwin 上:
Troels Arvin建议的Gnu iconv最好用作过滤器。它似乎是普遍可用的。例子:
$ iconv -f UTF-8 -t ISO-8859-15 in.txt > out.txt
正如Ben所指出的,有一个使用 iconv 的在线转换器。
Cheekysoft建议的重新编码(手动)将就地转换一个或多个文件。例子:
$ recode UTF8..ISO-8859-15 in.txt
这个使用较短的别名:
$ recode utf8..l9 in.txt
Recode 还支持可用于在不同行尾类型和编码之间进行转换的表面:
将换行从 LF (Unix) 转换为 CR-LF (DOS):
$ recode ../CR-LF in.txt
Base64 编码文件:
$ recode ../Base64 in.txt
您也可以将它们组合起来。
将带有 Unix 行尾的 Base64 编码的 UTF8 文件转换为带有 Dos 行尾的 Base64 编码的 Latin 1 文件:
$ recode utf8/Base64..l1/CR-LF/Base64 file.txt
在带有Powershell ( Jay Bazuzi )的 Windows 上:
PS C:\> gc -en utf8 in.txt | Out-File -en ascii out.txt
(虽然不支持 ISO-8859-15;它说支持的字符集是 unicode、utf7、utf8、utf32、ascii、bigendianunicode、default 和 oem。)
编辑
你的意思是iso-8859-1支持吗?使用“字符串”可以做到这一点,反之亦然
gc -en string in.txt | Out-File -en utf8 out.txt
注意:可能的枚举值为“Unknown, String, Unicode, Byte, BigEndianUnicode, UTF8, UTF7, Ascii”。
- CsCvt - Kalytta 的字符集转换器是另一个伟大的基于命令行的 Windows 转换工具。