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

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

Unicode簽名BOM引發的事故原因分析

2024-08-30 08:34:20
字體:
來源:轉載
供稿:網友
可能你這里用了包含(include)文件,通常header和footer會這么做。打開被包含文件發現頁面屬性中“包括Unicode簽名BOM”這一項是勾選的,那么我告訴你就是這個BOM引發的事故。

unicode-bom

今天我在寫一個JS腳本的時候又出現了BOM事故。
我在頁面中插入一個外部JS,然后里面有這樣一句話$.getJSON(“/my/newmsg”,function(data){alert(data);});其它瀏覽器都能正常的彈出內容,唯獨IE下沒動靜,我郁悶了近一個小時,我懷疑這句話寫錯了懷疑JSON數據格式錯了懷疑我人品有問題…
后來我懷疑編碼不對,于是就看到了可惡的BOM打了勾,把它一去掉神跡就從烏云底下冒了出來。
雖然我懶惰很少更新博客,但不得不上來記錄一下這個事,因為真是太意外了,JS也會因為BOM引發事故 – -|

Unicode規范中有一個BOM的概念。
BOM是Byte Order Mark的簡寫,就是字節序標記,這個東西在普通文本編輯器下是看不到的,可以說它是文件頭嗎?在二進制編輯器下才可以看到?可能是這樣。
在UCS 編碼中有一個叫做”ZERO WIDTH NO-BREAK SPACE”的字符,它的編碼是FEFF。而FFFE在UCS中是不存在的字符,所以不應該出現在實際傳輸中。UCS規范建議我們在傳輸字節流前,先傳輸字符”ZERO WIDTH NO-BREAK SPACE”。這樣如果接收者收到FEFF,就表明這個字節流是Big-Endian的;如果收到FFFE,就表明這個字節流是Little- Endian的。因此字符”ZERO WIDTH NO-BREAK SPACE”又被稱作BOM。
UTF-8不需要BOM來表明字節順序,但可以用BOM來表明編碼方式。字符”ZERO WIDTH NO-BREAK SPACE”的UTF-8編碼是EF BB BF。所以如果接收者收到以EF BB BF開頭的字節流,就知道這是UTF-8編碼了。Windows就是使用BOM來標記文本文件的編碼方式的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安国市| 云龙县| 宾川县| 沙坪坝区| 杂多县| 松溪县| 右玉县| 景洪市| 昆山市| 湘潭市| 黔江区| 德阳市| 贵定县| 海门市| 洪湖市| 闽清县| 威远县| 当阳市| 镇康县| 乐业县| 涡阳县| 丰宁| 苏州市| 洪雅县| 旬阳县| 南京市| 清苑县| 泰兴市| 万安县| 五原县| 商城县| 梁平县| 江陵县| 巴马| 荔浦县| 永顺县| 区。| 蛟河市| 南平市| 礼泉县| 嫩江县|