BOMで始まるファイル処理(FF FE)

BOMで始まるファイル処理(FF FE)

BOMを含む.csvファイルを受け取りましたFF FE

$ head -n1 dotan.csv | hd
00000000  ff fe 41 00 64 00 20 00  67 00 72 00 6f 00 75 00  |..A.d. .g.r.o.u.|

を使用して解析すると、awk多くのヌルバイトが表示されますが、これはエンディアンによるものと思われます。一般的なツールで使用できるように、CLIを使用してこのファイルのバイト順序をどのように変更できますか?

ファイルはASCII文字でしか見えませんが(BOMを除く)、grepバイナリファイルのように見えるため、確認できません。

$ grep -P '^[\x00-\x7f]' dotan.csv 
Binary file dotan.csv matches

VIMで同じ文字列表示を検索するすべての役割マッチ!

ASCIIへの変換を使用すると、iconv\ x00の値は削除されず、UTF-8ではなくNULLバイトのように見えるため、実際に問題が悪化します。

$ iconv -f UTF-8 -t ASCII dotan.csv > fixed.txt 
iconv: illegal input sequence at position 0

$ iconv -f UTF-8 -t ASCII//IGNORE dotan.csv > fixed.txt

$ head -n1 fixed.txt | hd
00000000  41 00 64 00 20 00 67 00  72 00 6f 00 75 00 70 00  |A.d. .g.r.o.u.p.|

一般的なツールで使用できるように、CLIを使用してこのファイルのバイト順序をどのように変更できますか?

ベストアンサー1

したがって、ウィキペディア記事FF FE方法UTF16LE。したがって、以下からiconv変換するように指示する必要があります。UTF16LEUTF8

iconv -f UTF-16LE -t UTF-8 dotan.csv > fixed.txt

おすすめ記事