常用字元編碼執行個體分析

來源:互聯網
上載者:User

大家經常在windows下使用notepad就會發現儲存的時候有編碼類別型選擇ANSI(中國是GB18030)、unicode、unicode big endian、UTF-8,下面進行執行個體分析,如1為文本顯示及不同的字元編碼的HEX顯示:


圖1

1.GB18030

GB18030是中華人民共和國最新的內碼字集及編碼方式,位元組結構採用單位元組、雙位元組、四位元組編碼,其不會重疊混淆。

單位元組:0x00 - 0x7F (對應於ASCII)

雙位元組:0x8140 - 0xFE7E

      0xFE80 - 0xFEFE

四位元組:0x81308130 - 0xFE39FE39

針對1的ANSI(GB18030)編碼分析:


圖2

2.Unicode

這裡的Unicode即是字元集也是編碼方式,其為UTF-16小尾編碼,丟失一個位元組整個檔案將無效。

針對1的Unicode編碼分析:


圖3

3.Unicode big endian

這裡的Unicode即是字元集也是編碼方式,其為UTF-16大尾編碼,丟失一個位元組整個檔案將無效。

針對1的Unicode big endian編碼分析:


圖4

4.UTF-8

UTF-8以位元組編碼,沒有大小尾的區分,是ASCII編碼的超集。

位元組流形式:一位元組:0xxxxxxx

兩位元組:110xxxxx 10xxxxxx

三位元組:1110xxxx 10xxxxxx 10xxxxxx

四位元組:11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

五位元組:111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

六位元組:1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

針對1的UTF-8編碼分析:


圖5

5.趣事

記事本以ANSI格式只儲存“聯通”,雙擊開啟為一個小方塊。

解釋:“聯通”在GB18030中的表示為“C1 AA CD A8”,雙擊開啟的操作,記事本判斷第一個位元組“11000001”為UTF-8的兩位元組流形式,第三個位元組“11001101”也為UTF-8的兩位元組流形式,故判斷為UTF-8字元編碼格式開啟為亂碼。



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.