国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 網頁設計 > 正文

Unicode簽名bom詳細說明

2024-08-30 08:34:20
字體:
來源:轉載
供稿:網友
Unicode簽名bom-什么是bom?
BOM 是 Byte Order Mark 的縮寫。是UTF編碼方案里用于標識編碼的標準標記,在UTF-16里本來是FF FE,變成UTF-8就成了EF BB BF。這個標記是可選的,因為UTF8字節沒有順序,所以它可以被用來檢測一個字節流是否是UTF-8編碼的。微軟做這種檢測,但有些軟件不做這種檢測,而把它當作正常字符處理。

微軟在自己的UTF-8格式的文本文件之前加上了EF BB BF三個字節,windows上面的notepad等程序就是根據這三個字節來確定一個文本文件是ASCII的還是UTF-8的,然而這個只是微軟暗自作的標記,其它平臺上并沒有對UTF-8文本文件做個這樣的標記。

Unicode簽名bom-查看utf-8的方法

也就是說一個UTF-8文件可能有BOM,也可能沒有BOM,那么怎么區分呢?
四種方法。
1,用UltraEdit-32打開文件,切換到十六進制編輯模式,察看文件頭部是否有EF BB BF。
2,用Dreamweaver打開,察看頁面屬性,看“包括Unicode簽名BOM”前面是否有個勾。
3,用Windows的記事本打開,選擇“另存為”,看文件的默認編碼是UTF-8還是ANSI,如果是ANSI則不帶BOM。

Unicode簽名bomUnicode簽名bom

4:用emeditor打開,選擇“另存為”,看編碼下面的
添加 unicode  簽名(bom)(G)是否勾選。如圖:

 Unicode簽名bom-在php中應用時的問題和解決方案

注意用Convertz把gb2312文件轉換成UTF-8文件時,默認設置是不帶BOM的。不帶BOM可能出現上述亂碼問題,但是帶BOM,對于php的include文件要小心,會在php字節流前面多出EFBBBF,提前輸出到顯示器有可能會帶來程序錯誤。一個解決方案是凡是被include的文件都保存為ANSI,主文件可以是UTF-8。要想把一個文件去掉BOM,使用UlterEdit打開,切換到十六進制編輯模式,把最前面三個字節(就是那該死的EFBBBF)替換為20,保存(注意關閉保存時自動備份的功能),再切換到默認編輯模式,把最前面的三個空格去掉就可以了。

Unicode簽名bom-編碼小知識

另外還學到一些編碼的小知識:所謂的unicode保存的文件實際上是utf-16,只不過恰好跟unicode的碼相同而已,但在概念上unicode與utf是兩回事,unicode是內存編碼表示方案,而utf是如何保存和傳輸unicode的方案。utf-16還分高位在前(LE)和高位在后(BE)兩種。官方的utf編碼還有utf-32,也分LE和BE。非unicode官方的utf編碼還有utf-7,主要用于郵件傳輸。utf-8的單字節部分是和iso-8859-1兼容的,這主要是一些舊的系統和庫函數不能正確處理utf-16而被迫出來的,而且對英語字符來說,也節省保存的文件空間(以非英語字符浪費空間為代價)。在iso-8859-1的時候,utf8和iso-8859-1都是用一個字節表示的,當表示其它字符的時候,utf-8會使用兩個或三個字節。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泉州市| 兰州市| 突泉县| 文成县| 龙南县| 辛集市| 蕉岭县| 武川县| 龙门县| 古蔺县| 临武县| 江陵县| 肥城市| 宁乡县| 琼海市| 庄浪县| 驻马店市| 获嘉县| 板桥市| 昌都县| 周至县| 平武县| 武威市| 闵行区| 竹山县| 黄龙县| 申扎县| 平顺县| 芜湖县| 龙南县| 泗洪县| 长海县| 晋中市| 稻城县| 筠连县| 徐水县| 兴城市| 宝清县| 营口市| 庆安县| 屏南县|