7

我有一个 ant 构建,它将我的 javascript 连接到一个文件中,然后压缩它。问题是 Visual Studio 的默认编码将 BOM 附加到每个文件。如何配置 ant 以去除原本会出现在生成的连接文件中间的 BOM?

我的谷歌搜索揭示了这个讨论,这是我遇到的确切问题,但没有提供解决方案:http://marc.info/?l=ant-user&m= 118598847927096

4

1 回答 1

13

Unicode字节顺序标记代码点是 U+FEFF。连接两个文件时,此连接命令将删除所有 BOM 字符:

<concat encoding="UTF-8" outputencoding="UTF-8" destfile="nobom-concat.txt">
  <filelist dir="." files="bom1.txt,bom2.txt" />
  <filterchain>
    <deletecharacters chars="&#xFEFF;" />
  </filterchain>
</concat>

这种形式的concat命令告诉任务将文件解码为 UTF-8 字符数据。我假设是 UTF-8,因为这通常是发生 Java/BOM 问题的地方。

在 UTF-8 中,BOM 被编码为字节EF BB BF。如果您需要它出现在结果文件的开头,您可以使用后续的连接再次为输出文件添加 BOM 前缀。

此处列出了其他 UTF 编码中 U+FEFF 的编码值。

于 2010-05-01T22:33:35.240 回答