夜色资源站www国产在线资源,国产偷窥熟妇高潮呻吟,潮湿的心动漫在线观看免费未删减,欧美日韩国产成人精品

查字典logo
當前位置:查字典>>實用附錄>>Unicode簡介

Unicode簡介

 

Unicode(統一碼、萬國碼、單一碼)是一種在計算機上使用的字符編碼。它為每種語言中的每個字符設定了統一并且唯一的二進制編碼,以滿足跨語言、跨平臺進行文本轉換、處理的要求。1990年開始研發,1994年正式公布。隨著計算機工作能力的增強,Unicode也在面世以來的十多年里得到普及。
Unicode 的編碼和實現
大概來說,Unicode 編碼系統可分為編碼方式和實現方式兩個層次。


編碼方式
Unicode 的編碼方式與 ISO 10646 的通用字符集(Universal Character Set,UCS)概念相對應,目前實際應用的 Unicode 版本對應于 UCS-2,使用16位的編碼空間。也就是每個字符占用2個字節。這樣理論上一共最多可以表示 216 即 65536 個字符。基本滿足各種語言的使用。實際上目前版本的 Unicode 尚未填充滿這16位編碼,保留了大量空間作為特殊使用或將來擴展。

上述16位 Unicode 字符構成基本多文種平面(Basic Multilingual Plane, 簡稱 BMP)。最新(但未實際廣泛使用)的 Unicode 版本定義了16個輔助平面,兩者合起來至少需要占據21位的編碼空間,比3字節略少。但事實上輔助平面字符仍然占用4字節編碼空間,與 UCS-4 保持一致。未來版本會擴充到 ISO 10646-1 實現級別3,即涵蓋 UCS-4 的所有字符。UCS-4 是一個更大的尚未填充完全的31位字符集,加上恒為0的首位,共需占據32位,即4字節。理論上最多能表示 231 個字符,完全可以涵蓋一切語言所用的符號。

BMP 字符的 Unicode 編碼表示為 U+hhhh,其中每個 h 代表一個十六進制數位。與 UCS-2 編碼完全相同。對應的4字節 UCS-4 編碼后兩個字節一致,前兩個字節的所有位均為0。

關于 Unicode 和 ISO 10646 及 UCS 的詳細關系 ,請參看通用字符集。


實現方式
Unicode 的實現方式不同于編碼方式。一個字符的 Unicode 編碼是確定的。但是在實際傳輸過程中,由于不同系統平臺的設計不一定一致,以及出于節省空間的目的,對 Unicode 編碼的實現方式有所不同。Unicode 的實現方式稱為Unicode轉換格式(Unicode Translation Format,簡稱為 UTF)。

例如,如果一個僅包含基本7位ASCII字符的 Unicode 文件,如果每個字符都使用2字節的原 Unicode 編碼傳輸,其第一字節的8位始終為0。這就造成了比較大的浪費。對于這種情況,可以使用 UTF-8 編碼,這是一種變長編碼,它將基本7位ASCII字符仍用7位編碼表示,占用一個字節(首位補0)。而遇到與其他 Unicode 字符混合的情況,將按一定算法轉換,每個字符使用1-3個字節編碼,并利用首位為0或1進行識別。這樣對以7位ASCII字符為主的西文文檔就大大節省了編碼長度(具體方案參見UTF-8)。類似的,對未來會出現的需要4個字節的輔助平面字符和其他 UCS-4 擴充字符,2字節編碼的 UTF-16 也需要通過一定的算法進行轉換。

再如,如果直接使用與 Unicode 編碼一致(僅限于 BMP 字符)的 UTF-16 編碼,由于每個字符占用了兩個字節,在Macintosh機和PC機上對字節順序的理解是不一致的。這時同一字節流可能會被解釋為不同內容,如編碼為 U+594E 的字符“奎”同編碼為 U+4E59 的“乙”就可能發生混淆。于是在 UTF-16 編碼實現方式中使用了大尾序(big-endian)、小尾序(little-endian)的概念,以及BOM(Byte Order Mark)解決方案。(具體方案參見UTF-16)

此外 Unicode 的實現方式還包括 UTF-7、Punycode、CESU-8、SCSU、UTF-32等,這些實現方式有些僅在一定的國家和地區使用,有些則屬于未來的規劃方式。目前通用的實現方式是 UTF-16小尾序(BOM)、UTF-16大尾序(BOM)和 UTF-8。在微軟公司Windows XP操作系統附帶的記事本中,“另存為”對話框可以選擇的四種編碼方式除去非 Unicode 編碼的 ANSI 外,其余三種“Unicode”、“Unicode big endian”和“UTF-8”即分別對應這三種實現方式。

目前輔助平面的工作主要集中在第二和第三平面的中日韓統一表意文字中,因此包括GBK、GB18030、Big5等簡體中文、正體中文、日文、韓文以及越南喃字的各種編碼與 Unicode 的協調性被重點關注。考慮到 Unicode 最終要涵蓋所有的字符,從某種意義而言,這些編碼方式也可視作 Unicode 的出現于其之前的既成事實的實現方式,如同ASCII及其擴展Latin-1一樣,后兩者的字符在16位 Unicode 編碼空間中的編碼第一字節各位全為0,第二字節編碼與原編碼完全一致。但上述東亞語言編碼與 Unicode 編碼的對應關系要復雜得多。

網友關注