去除 UTF-8 文件 BOM 頭

什麼是 BOM?

BOM 全稱是 Byte Order Mark(字節順序標記)。出如今文本文件頭部,Unicode 編碼標準中用於標識文件是採用哪一種格式的編碼。好比:當用記事本保存一個以 UTF-8 編碼的文件時,會自動在文件開始自動插入三個不可見字符「0xEF 0xBB 0xBF」,可是一般狀況下不須要這個頭部來識別文件的編碼,在PHP代碼中存在BOM,會致使網頁的首行存在預料外的間隙。vim

去除 BOM 方法

【方法一】打開 vim

鍵入 :set bomb,回車,顯示 bomb 表示文件有 BOM,nobom 表示文件無 BOM;bash

鍵入 :set nobomb,並回車。編碼

【方法二】打開 notepad++

依次點擊菜單欄【格式】-【以 UTF-8 無 BOM 格式編碼】,並保存。spa

【方法三】sed 命令

utf-8 編碼文件的 BOM 是 「0xEF 0xBB 0xBF」(更多 BOM 請點擊),針對 utf-8 編碼文件去掉 BOM:unix

// 生成新文件
sed '1s/^\xEF\xBB\xBF//' < orig.txt > new.txt

code

// 直接覆蓋老文件
sed -i '1s/^\xEF\xBB\xBF//' orig.txt

 

參考連接:blog

How can I remove the BOM from a UTF-8 file?(https://unix.stackexchange.com/questions/381230/how-can-i-remove-the-bom-from-a-utf-8-fileutf-8

相關文章
相關標籤/搜索