Обработайте файл, который запускается с BOM (FE FF)

Удалить quiet из командной строки ядра и необходимо заставить достаточно вывода видеть причину подвешивания.

10
16.06.2014, 01:56
3 ответа

Из этой статьи в википедии, FF FE означает UTF16LE. Поэтому вы должны сказать iconv для преобразования из UTF16LE в UTF8:

iconv -f UTF-16LE -t UTF-8 dotan.csv > fixed.txt
14
27.01.2020, 20:01

dos2unix также удаляет спецификации и преобразует UTF-16 в UTF-8:

$ printf %s あ|recode ..utf16 >a;xxd -p a;dos2unix a;xxd -p a
feff3042
dos2unix: converting file a to Unix format...
e38182

dos2unix также удаляет спецификации UTF-8:

$ printf %b '\xef\xbb\xbfa'>a;dos2unix a;xxd -p a
dos2unix: converting file a to Unix format...
61
3
27.01.2020, 20:01

Также ответил на StackOverflow:Как удалить спецификацию из файла UTF -8?У @rici есть хороший ответ.

Краткий ответ:

  • Краткий ответ :sed -i $'1s/^\uFEFF//' file.txt, но не для BSD или OS/X.
  • Другой ответ :vi file.txt, :set nobomb, :w, простой, но ручной
  • Установить dos2unuix;dos2unix -r file.txt
  • Эти метки имеют несколько возможных значений, включая только то, что файл имеет формат UTF -8; см. статью Википедии .
  • Программы Windows любят добавлять эти метки. Большинство редакторов не удалят эти отметки.
1
27.01.2020, 20:01

Теги

Похожие вопросы