Unicode
如何檢查 UTF-8 文本文件是否有 BOM?
如何從命令行檢查 UTF-8 文本文件是否有BOM ?
file
命令向我顯示:UTF-8 Unicode text
但是,我不知道這是否意味著文件中沒有 BOM。
我正在使用 Ubuntu 12.04。
file
會告訴你是否有BOM。你可以簡單地測試它:printf '\ufeff...\n' | file - /dev/stdin: UTF-8 Unicode (with BOM) text
一些 shell,例如
ash
或dash
有一個printf
不支持的內置函式\u
,在這種情況下,您需要printf
從 GNU coreutils 中使用,例如/usr/bin/printf
.注意:根據
file
更新日誌,這個功能在 2007 年就已經存在。所以,這應該適用於任何目前的機器。
如果你執行
stat fileName
它應該給你準確的三個字元。當我在編輯器中打開文件時,我什麼也看不到。所以注意到文件大小為 3 讓我清楚地知道它有一個 BOM。此外,這裡的文章對我來說很有幫助。
hexdump -n 3 -C 2.txt 00000000 ef bb bf ef bb bf // YES