Unicode UTF-8 UTF-16

來源:互聯網
上載者: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. 通常說的Unicode就是指UTF-16。
  • UTF-32, 僅使用了unicode範圍(0到0x10FFFF)的32位編碼, 相當於UCS-4的子集.

    UTF與unicode的關係:
        Unicode是一個字元集, 可以看作為內碼.
    而UTF是一種編碼方式, 它的出現是因為unicode不適宜在某些場合直接傳輸和處理. UTF-16直接就是unicode編碼, 沒有變換, 但它包含了0x00在編碼內, 頭256位元組碼的第一個byte都是0x00, 在作業系統(C語言)中有特殊意義, 會引起問題. 採用UTF-8編碼對unicode的直接編碼作些變換可以避免這問題, 並帶來一些優點.    UTF-8以位元組為編碼單元,沒有位元組序的問題。UTF-16以兩個位元組為編碼單元,在解釋一個UTF-16文本前,首先要弄清楚每個編碼單元的位元組序。例如收到一個“奎”的Unicode編碼是594E,“乙”的Unicode編碼是4E59。如果我們收到UTF-16位元組流“594E”,那麼這是“奎”還是“乙”? Unicode規範中推薦的標記位元組順序的方法是BOM。

    big endian和little endian
    big endian和little endian是CPU處理多位元組數的不同方式。例如“漢”字的Unicode編碼是
    6C49。那麼寫到檔案裡時,究竟是將6C寫在前面,還是將49寫在前面?如果將6C寫在前面,就
    是big endian。還是將49寫在前面,就是little endian。

    中文的編碼
    從gb2312到gbk再到gb18030,其支援的漢字越來越多。GB2312、GBK到GB18030都屬於雙位元組字元集。從ASCII、GB2312、GBK到GB18030的編碼方法是向下相容的。

  • 聯繫我們

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