對字元編碼與Unicode,ISO 10646,UCS,UTF8,UTF16,GBK,GB2312的理解

來源:互聯網
上載者:User
Unicode:

unicode.org制定的編碼機制, 要將全世界常用文字都函括進去.
在1.0中是16位編碼, 由U+0000到U+FFFF. 每個2byte碼對應一個字元; 在2.0開始拋棄了16位限制, 原來的16位作為基本位平面, 另外增加了16個位平面, 相當於20位編碼, 編碼範圍0到0x10FFFF.

UCS:

ISO制定的ISO10646標準所定義的 Universal Character Set, 採用4byte編碼.

Unicode與UCS的關係:

ISO與unicode.org是兩個不同的組織, 因此最初制定了不同的標準; 但自從unicode2.0開始, unicode採用了與ISO 10646-1相同的字型檔和字碼, ISO也承諾ISO10646將不會給超出0x10FFFF的UCS-4編碼賦值, 使得兩者保持一致.

UCS的編碼方式:

UCS-2, 與unicode的2byte編碼基本一樣.

UCS-4, 4byte編碼, 目前是在UCS-2前加上2個全零的byte.

UTF: Unicode/UCS Transformation Format

UTF-8, 8bit編碼, ASCII不作變換, 其他字元做變長編碼, 每個字元1-3 byte. 通常作為外碼. 有以下優點:
* 與CPU位元組順序無關, 可以在不同平台之間交流
* 容錯能力高, 任何一個位元組損壞後, 最多隻會導致一個編碼碼位損失, 不會鏈鎖錯誤(如GB碼錯一個位元組就會整行亂碼)

UTF-16, 16bit編碼, 是變長碼, 大致相當於20位編碼, 值在0到0x10FFFF之間, 基本上就是unicode編碼的實現. 它是變長碼, 與CPU字序有關, 但因為最省空間, 常作為網路傳輸的外碼.
UTF-16是unicode的preferred encoding.

UTF-32, 僅使用了unicode範圍(0到0x10FFFF)的32位編碼, 相當於UCS-4的子集.

UTF與unicode的關係:

Unicode是一個字元集, 可以看作為內碼.
而UTF是一種編碼方式, 它的出現是因為unicode不適宜在某些場合直接傳輸和處理. UTF-16直接就是unicode編碼, 沒有變換, 但它包含了0x00在編碼內, 頭256位元組碼的第一個byte都是0x00, 在作業系統(C語言)中有特殊意義, 會引起問題. 採用UTF-8編碼對unicode的直接編碼作些變換可以避免這問題, 並帶來一些優點.

中國國標編碼:

GB 13000: 完全等同於ISO 10646-1/Unicode 2.1, 今後也將隨ISO 10646/Unicode的標準更改而同步更改.

GBK: 對GB2312的擴充, 以容納GB2312字元集範圍以外的Unicode 2.1的統一漢字部分, 並且增加了部分unicode中沒有的字元.

GB 18030-2000: 基於GB 13000, 作為Unicode 3.0的GBK擴充版本, 覆蓋了所有unicode編碼, 地位等同於UTF-8, UTF-16, 是一種unicode編碼形式. 變長編碼, 用單位元組/雙位元組/4位元組對字元編碼. GB18030向下相容GB2312/GBK.
GB 18030是中國所有非手持/嵌入式電腦系統的強制實施標準.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.