36

我想用来iconv在我的 Mac 上转换文件。目标是从“Windows ANSI”变为“Windows 记事本保存的任何内容,如果您告诉它使用 UFT8”。

这就是我要的:

$ file names.csv 
names.csv: UTF-8 Unicode (with BOM) text, with CRLF line terminators

这就是我使用的:

$ iconv -f CP1252 -t UTF-8  names.csv > names.utf8.csv 

这就是我得到的(不是我想要的):

$ file names.utf8.csv 
names.utf8.csv: UTF-8 Unicode text, with CRLF line terminators

我如何获得 BOM?

4

4 回答 4

51

echo您可以通过首先将字节添加到文件中来手动添加它:

echo -ne '\xEF\xBB\xBF' > names.utf8.csv

然后在最后连接您所需的信息:

iconv -f CP1252 -t UTF-8  names.csv >> names.utf8.csv

注意>>而不是>

于 2010-12-06T10:00:47.207 回答
1

请注意,“Windows ANSI”可能不是用户配置的 CP1252。

于 2010-12-06T16:42:11.437 回答
-3

UTF-8 不需要 BOM。并且 Windows 记事本可以保存带有或不带有 BOM 的 UTF-8。

于 2020-01-02T17:13:29.373 回答
-7

我需要对面。(从 UTF-8 到 ANSI 的隐藏德语文本)

所以我使用的命令:
1. iconv -l (检查可用格式)
2. iconv -f UTF8 -t MS-ANSI de.txt > output.txt

现在如果我打开 output.txt 它已经在 ANSI 中了。任务完成。

于 2014-09-04T12:34:40.080 回答