在字符集之间转换文本文件的最快,最简单的工具或方法是什么?
具体来说,我需要从UTF-8转换为ISO-8859-15,反之亦然.
一切顺利:您最喜欢的脚本语言的单行,命令行工具或OS,网站等的其他实用程序.
在Linux/UNIX/OS X/cygwin上:
Troels Arvin建议的Gnu iconv最适合用作过滤器.它似乎普遍可用.例:
$ iconv -f UTF-8 -t ISO-8859-15 in.txt > out.txt
Run Code Online (Sandbox Code Playgroud)
由Cheekysoft建议的Gnu 重新编码(手动)将就地转换一个或多个文件.例:
$ recode UTF8..ISO-8859-15 in.txt
Run Code Online (Sandbox Code Playgroud)
这个使用较短的别名:
$ recode utf8..l9 in.txt
Run Code Online (Sandbox Code Playgroud)
Recode还支持可用于在不同行结束类型和编码之间进行转换的曲面:
将换行符从LF(Unix)转换为CR-LF(DOS):
$ recode ../CR-LF in.txt
Run Code Online (Sandbox Code Playgroud)
Base64编码文件:
$ recode ../Base64 in.txt
Run Code Online (Sandbox Code Playgroud)
你也可以将它们结合起来.
将带有Unix行尾的Base64编码的UTF8文件转换为带有Dos行结尾的Base64编码的Latin 1文件:
$ recode utf8/Base64..l1/CR-LF/Base64 file.txt
Run Code Online (Sandbox Code Playgroud)在带有Powershell的 Windows上(Jay Bazuzi):
PS C:\> gc -en utf8 …
我有一个文件保存为UCS-2 Little Endian我想更改编码,所以我运行以下代码:
cat tmp.log -encoding UTF8 > new.log
Run Code Online (Sandbox Code Playgroud)
生成的文件仍在UCS-2 Little Endian中.这是因为管道始终采用这种格式吗?有没有一种简单的方法可以将其作为UTF8传输到新文件?