<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      字符編碼發(fā)展史6 — BOM字節(jié)序標(biāo)記

      上一篇《字符編碼發(fā)展史5 — UTF-16和UTF-32》我們講解了UTF-16和UTF-32編碼。本篇我們將繼續(xù)講解字符編碼中的字節(jié)序標(biāo)記(BOM)。

      2.3. 第三個(gè)階段 國際化

      2.3.2. Unicode的編碼方式

      2.3.2.5. BOM

      1. 什么是BOM?

      BOMByte Order Mark的縮寫,翻譯成中文是:字節(jié)序標(biāo)記,主要用于文本編碼中,表示數(shù)據(jù)存儲(chǔ)的字節(jié)順序。

      前面我們講到UTF-16和UTF-32是存在大小端的字節(jié)序問題的。以UTF-16為例,要識(shí)別一個(gè)文件是以大端(Big-endian)字節(jié)序還是小端(Little-endian)字節(jié)序存儲(chǔ)的,就需要有一個(gè)標(biāo)識(shí)來進(jìn)行標(biāo)記。業(yè)界統(tǒng)一的做法是:在文件的開頭加入一個(gè)特殊的字符來表示,該字符就是U+FEFF,因此BOM也可認(rèn)為是該字符(U+FEFF)的一個(gè)別名。

      • 在UTF-16BE文件中,BOM是0xFE 0xFF
      • 在UTF-16LE文件中,BOM是0xFF 0xFE
      • 在UTF-32BE文件中,BOM是0x00 0x00 0xFE 0xFF
      • 在UTF-32LE文件中,BOM是0xFF 0xFE 0x00 0x00
      2. Windows下為什么會(huì)有UTF-8和UTF-8BOM?

      UTF-8編碼本身并不存在字節(jié)序的問題,所以UTF-8編碼理論上是不需要字節(jié)序的。

      熟悉Windows的同學(xué)應(yīng)該知道,Windows的“記事本”在保存時(shí)可以選擇編碼方式,編碼方式的下拉框里有UTF-8UTF-8 BOM。我們以UTF-8 BOM保存時(shí),文件的開頭三個(gè)字節(jié)是0xEF 0xBB 0xBF,這就是UTF-8 BOM的標(biāo)識(shí)。

      file
      記事本保存的編碼格式

      file
      在VSCode中以Hex Editor方式打開

      為什么Windows下為什么有UTF-8 BOM,這個(gè)已經(jīng)無從查證,很可能是Windows歷史發(fā)展的遺留產(chǎn)物。猜測(cè)可能是為了明確標(biāo)識(shí)某個(gè)文件是由UTF-8編碼方式存儲(chǔ)的。因?yàn)樽址幋a的發(fā)展歷史來看,UTF-8的出現(xiàn)晚于ANSI系列編碼,Windows早期為了適配各個(gè)國家的語言,系統(tǒng)默認(rèn)編碼采用了ANSI系列的編碼,美國和西歐地區(qū)默認(rèn)編碼是ISO-8859-1,中國大陸默認(rèn)編碼編碼是GBK。如:在Windows下有一個(gè)XXX.txt的純文本文件,如果不加字節(jié)序標(biāo)記則無法知道這個(gè)文件是UTF-8編碼的還是GBK編碼的。如果UTF-8編碼的文件默認(rèn)加上BOM標(biāo)識(shí),則可以通過這個(gè)標(biāo)識(shí)來區(qū)分是UTF-8還是GBK編碼。

      在Windows11下,我們看到新建的.txt文件,windows的記事本會(huì)默認(rèn)以UTF-8(無BOM)來保存了,說明Windows操作系統(tǒng)新的版本也默認(rèn)使用UTF-8編碼了。

      就跨平臺(tái)的兼容性而言,UTF-8會(huì)比UTF-8 BOM更好。

      3. 不同編碼的字節(jié)序總結(jié)
      編碼方式 BOM字節(jié)序標(biāo)識(shí)
      UTF-8
      UTF-8 BOM 0xEF 0xBB 0xBF
      UTF-16BE 0xFE 0xFF
      UTF-16LE 0xFF 0xFE
      UTF-32BE 0x00 0x00 0xFE 0xFF
      UTF-32LE 0xFF 0xFE 0x00 0x00

      《字符編碼發(fā)展史》系列已完結(jié)

      歷史文章推薦:

      字符編碼發(fā)展史5 — UTF-16和UTF-32

      字符編碼發(fā)展史4 — Unicode與UTF-8

      字符編碼發(fā)展史3 — GB2312/Big5/GBK/GB18030

      字符編碼發(fā)展史2 — ISO-8859-N

      字符編碼發(fā)展史1 — ASCII和EASCII


      大家好,我是陌塵。

      IT從業(yè)10年+, 北漂過也深漂過,目前暫定居于杭州,未來不知還會(huì)飄向何方。

      搞了8年C++,也干過2年前端;用Python寫過書,也玩過一點(diǎn)PHP,未來還會(huì)折騰更多東西,不死不休。

      感謝大家的關(guān)注,期待與你一起成長(zhǎng)。



      【SunLogging】
      掃碼二維碼,關(guān)注微信公眾號(hào),閱讀更多精彩內(nèi)容
      posted @ 2024-10-10 16:07  陌塵(MoChen)  閱讀(180)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 无码AV动漫精品一区二区免费| 污网站在线观看视频| 99在线 | 亚洲| 色爱综合另类图片av| 国产女人高潮视频在线观看| 国产亚洲999精品aa片在线爽| 日产国产一区二区不卡| 中国丰满少妇人妻xxx性董鑫洁| 在线观看精品视频网站| 国产精品第二页在线播放| 国产成人片无码视频| 日韩在线观看中文字幕| 谷城县| 亚洲粉嫩av一区二区黑人| 日本高清无卡码一区二区| 国产对白老熟女正在播放| 最新午夜男女福利片视频| 日本一区二区三区专线| 喀什市| 2020国产欧洲精品网站| 成码无人AV片在线电影网站| 久久精品国产亚洲av天海翼| 日韩有码中文字幕一区二区| 国产一区二区波多野结衣| 色猫咪av在线网址| 免费无码又黄又爽又刺激| 超碰伊人久久大香线蕉综合| 秋霞人妻无码中文字幕| 亚洲成人资源在线观看| 日韩区二区三区中文字幕| 香蕉亚洲欧洲在线一区| 国产片一区二区三区视频| 国产精品区一区第一页| 久久久av波多野一区二区| 国产无遮挡猛进猛出免费软件| 国产午夜精品一区理论片| 无码人妻精品一区二区三区下载| 98日韩精品人妻一二区| 亚洲v欧美v国产v在线观看| 四虎永久免费高清视频| 国产成人小视频|