我有一个ant build,它将我的javascript连接到一个文件然后压缩它。问题是Visual Studio的默认编码会将BOM附加到每个文件。如何配置ant以去除原本会出现在结果连接文件中间的BOM?
我的googl'ing透露了这个讨论,这是我遇到的确切问题,但没有提供解决方案:http://marc.info/?l=ant-user&m=118598847927096
答案 0 :(得分:12)
Unicode byte order mark代码点是U + FEFF。连接两个文件时,此连接命令将删除所有BOM字符:
<concat encoding="UTF-8" outputencoding="UTF-8" destfile="nobom-concat.txt">
<filelist dir="." files="bom1.txt,bom2.txt" />
<filterchain>
<deletecharacters chars="" />
</filterchain>
</concat>
这种形式的concat
命令告诉任务将文件解码为UTF-8字符数据。我假设UTF-8,因为这通常发生Java / BOM问题。
在UTF-8中,BOM编码为字节EF BB BF
。如果您需要它出现在结果文件的开头,您可以使用后续串联为输出文件添加前缀为BOM。
列出了其他UTF编码中U + FEFF的编码值here。