web-dev-qa-db-ja.com

ファイルにBOMがあるかどうかをutf-8テキストで確認する方法

コマンドラインからutf-8テキストファイルにBOMがあるかどうかを確認するにはどうすればよいですか?

fileコマンドでUTF-8 Unicode textが表示されます。

しかし、ファイルにBOMがないことを意味します。

Ubuntu 12.04を使用しています。

19
ironsand

fileは、BOMがあるかどうかを通知します。あなたはテストすることができます:

$ /usr/bin/printf "\ufeff...\n" | file -
/dev/stdin: UTF-8 Unicode (with BOM) text

注:file変更ログによると、この機能はすでに2007年に存在していました。したがって、これは現在のどのマシンでも機能するはずです。

31
vinc17

stat fileNameそれはあなたに正確に3文字を与えるはずです。エディターでファイルを開くと、何も表示されませんでした。ファイルサイズが3であることに気付いたので、BOMがあることがわかりました。

また、投稿 here は私の場合は非常に役に立ちました。

hexdump -n 3 -C 2.txt
00000000 ef bb bf
ef bb bf // YES
6
akshita007