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

贊助商

分類目錄

贊助商

最新文章

搜索

EditPlus保存選utf-8 bom就是文本文件保存時(shí)的utf-8

作者:admin    時(shí)間:2021-8-24 12:38:22    瀏覽:

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

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

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

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

先看圖


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

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


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

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

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

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

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

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編碼的字符串開頭處的三個(gè)bytes 0xef,0xbb,0xbf就稱為UTF-8 BOM頭。

總結(jié)

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

您可能對(duì)以下文章也感興趣

標(biāo)簽: EditPlus  UTF8-BOM  UTF-8  
x
  • 站長(zhǎng)推薦
/* 左側(cè)顯示文章內(nèi)容目錄 */