Заставить муравейника игнорировать спецификацию? - PullRequest
7 голосов
/ 30 апреля 2010

У меня есть сборка муравья, которая объединяет мой javascript в один файл и затем сжимает его. Проблема в том, что кодировка Visual Studio по умолчанию прикрепляет спецификацию к каждому файлу. Как настроить ant для удаления спецификаций, которые в противном случае появились бы в середине полученного объединенного файла?

Мой гугл показал эту дискуссию, которая является точной проблемой, с которой я столкнулся, но не дает решения: http://marc.info/?l=ant-user&m=118598847927096

1 Ответ

13 голосов
/ 02 мая 2010

Юникод Порядок следования байтов Кодовое значение - U + FEFF. Эта команда конкатенации удалит все символы спецификации при объединении двух файлов:

<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 спецификация кодируется как байты EF BB BF. Если вам нужно, чтобы он отображался в начале результирующего файла, вы можете использовать последующую конкатенацию, чтобы снова поставить префикс выходного файла с спецификацией.

Кодированные значения для U + FEFF в других кодировках UTF перечислены здесь .

...