技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運(yùn)營

贊助商

分類目錄

贊助商

最新文章

搜索

EditPlus保存選utf-8 bom就是文本文件保存時的utf-8

作者:admin    時間:2021-8-24 12:38:22    瀏覽:

現(xiàn)在各種各樣的編輯器,保存文件時如何選擇編碼格式,也是一大問題,如果選擇不對,那么可能對程序的運(yùn)行就會產(chǎn)生影響。

我在用Wordpress時修改文件后發(fā)生過很多次這樣的事情,用記事本編輯的文件能運(yùn)行正常,但改用EditPlus編輯后就運(yùn)行出錯,這明顯就是保存的文件編碼問題了。

后來經(jīng)常多次變換保存方式,才知道,EditPlus保存選utf-8 bom就是文本文件保存時的utf-8。EditPlus保存選utf-8并不是文本文件保存時的utf-8。

這就讓我有些好奇了,utf-8 bom 與 utf-8 有什么不同?后來經(jīng)過查閱相關(guān)資料,才明白它們之間的區(qū)別。

先看圖


(點(diǎn)擊圖片放大)

內(nèi)容都一樣 ,為什么相差了3個字節(jié)呢 ? 再看下圖 。


(點(diǎn)擊圖片放大)

多出來的 ef bb bf 就是上面相差三個字節(jié)的原因 。

為什么 utf-8 bom 要多這三個字節(jié)呢 ?

BOM——Byte Order Mark,就是字節(jié)序標(biāo)記。

bom是為utf-16和utf-32準(zhǔn)備的,用于標(biāo)記字節(jié)順序。微軟在utf-8中使用bom是因為這樣可以把UTF-8和ASCII等編碼區(qū)分開來,Windows就是使用BOM來標(biāo)記文本文件的編碼方式的,但這樣的文件在Windows之外的操作系統(tǒng)里會帶來問題。

UTF-8 BOM頭又是什么

UTF-8以字節(jié)為編碼單元因此不需要 BOM 來表明字節(jié)順序,但可以用 BOM 來表明編碼方式。字符 "Zero Width No-Break Space" 的 UTF-8 編碼是 EF BB BF。所以如果接收者收到以 EF BB BF 開頭的字節(jié)流,就知道這是 UTF-8編碼了。

因此UTF-8編碼的字符串開頭處的三個bytes 0xef,0xbb,0xbf就稱為UTF-8 BOM頭。

總結(jié)

前面說了那么多,想必大家也就大致了解了有關(guān)utf-8 bom與utf-8的關(guān)系了吧,也就明白了為什么EditPlus保存選utf-8 bom就是文本文件保存時的utf-8了。

您可能對以下文章也感興趣

標(biāo)簽: EditPlus  UTF8-BOM  UTF-8  
x