7

JavaScript を 1 つのファイルに連結して圧縮する ant ビルドがあります。問題は、Visual Studio の既定のエンコーディングがすべてのファイルに BOM を添付することです。結果の連結ファイルの途中に表示される BOM を削除するように ant を構成するにはどうすればよいですか?

私のグーグルは、私が抱えている正確な問題であるこの議論を明らかにしましたが、解決策を提供しません: http://marc.info/?l=ant-user&m=118598847927096

4

1 に答える 1

13

Unicodeバイト オーダー マークのコードポイントは U+FEFF です。この連結コマンドは、2 つのファイルを連結するときにすべての 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 文字データとしてデコードするようにタスクに指示します。これは通常、Java/BOM の問題が発生する場所であるため、UTF-8 を想定しています。

UTF-8 では、BOM はバイトとしてエンコードされますEF BB BF。結果ファイルの先頭に表示する必要がある場合は、後続の連結を使用して、出力ファイルの前に再度 BOM を付けることができます。

他の UTF エンコーディングで U+FEFF にエンコードされた値は、ここにリストされています。

于 2010-05-01T22:33:35.240 に答える