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 編碼的對應關系要復雜得多。
大概來說,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 編碼的對應關系要復雜得多。
網友關注
- 2021熱愛生活正能量句子 朋友圈熱愛生活文案
- 吵架服軟的可愛句子 吵架后道歉服軟的可愛句子
- 分享花花草草的句子 配花花的說說文案
- 大學畢業文案朋友圈簡短 畢業文案短句干凈治愈
- 雨天發朋友圈的句子 春季下雨天文案
- 朋友圈銷售文案短句 朋友圈銷售廣告語大全
- 起床語錄經典朋友圈 搞笑的起床語錄經典
- 畢業寄語大學生簡短 給大學生的寄語幽默簡短
- 朋友圈文案文案藝范簡約 朋友圈簡約文案
- 朋友圈晚安文案溫柔 晚安文案短句干凈治愈
- 青春校園朋友圈文案 青春校園小說文案
- 個性簽名女生簡單氣質短句 女生個性簽名簡單干凈短句
- 喝奶茶的文案朋友圈 奶茶朋友圈配什么文字
- 分享歌曲的文案 分享歌曲到朋友圈的文案
- 網易云文案熱評短句勵志 網易云文案短句值得收藏
- 愛情語錄經典短句唯美 名人愛情語錄經典短句
- 生日文案朋友圈簡短 17歲生日文案朋友圈簡短
- 經典語錄勵志人生感悟短句 正能量心靈雞湯短句60句
- 三觀超正的文案短句 愛情三觀正的文案短句
- 職場勵志語錄 職場勵志正能量句子
- 舔狗經典語錄短句 舔狗語錄押韻
- 下雨天的句子適合發朋友圈 下雨天的心情經典句子
- 甄嬛傳經典語錄臺詞 甄嬛傳臺詞片段對白
- 2021打疫苗文案朋友圈 新冠疫苗文案朋友圈
- 經典霸氣懟人語錄 懟人語錄大全不帶臟字
- 生活感悟經典句子 生活感悟經典句子簡短朋友圈
- 適合夏天的文案短句 夏天文案短句干凈
- 2021干飯人文案大賞 干飯文案可愛沙雕
- 電影臺詞經典語錄 電影臺詞個人獨白片段
- 2021結婚朋友圈文案 結婚文案短句子
- 女生自拍文案高級感 朋友圈自拍文案可愛
- 說說文案干凈治愈 治愈系短句溫暖文字
- 適合發朋友圈的歌詞文案 好聽的歌詞文案溫柔2021
- 彩虹屁夸人語錄經典合集 沙雕彩虹屁夸人語錄
- 生日文案朋友圈祝自己 生日朋友圈文案簡短
- 有趣的旅游朋友圈文案 旅游朋友圈文案有趣創意
- 人生太多的遺憾經典語錄 人生因遺憾而完美的經典語錄
- 充滿少年感的文案 少年感十足的文案
- 2021單身狗文案簡短 單身狗朋友圈文案
- 花店溫柔治愈系文案 溫柔文藝的治愈系優質文案
- 2021朋友圈考駕照文案 女孩子學車文案
- 微信朋友圈文案可愛符號 可愛到爆的朋友圈符號文案
- 早安暖心話短句 早安文案元氣滿滿
- 朋友圈土味情話文案 土味情話文案短句
- 易烊千璽語錄經典語錄勵志 易烊千璽語錄經典語錄朋友請聽好
- 適合摘抄的情感語錄 適合摘抄的優美語段
- 2021經典語錄勵志人生感悟 經典語錄 勵志唯美
- 關于晚霞的朋友圈文案簡短 朋友圈發晚霞配文案
- 朋友圈分享美食的文案 美食文案短句干凈治愈
- ktv唱歌說說發朋友圈 KTV唱歌文案朋友圈
- 兒童勵志語錄 六一語錄大兒童
- 公布戀情朋友圈文案 秀恩愛朋友圈文案簡短
- 有關勤儉節約的名言名句 節約的名言名句
- 2021夏日看海的說說 一起去看海文案朋友圈
- 分享日常的朋友圈文案 朋友圈日常文案可愛
- 友情的句子唯美簡短 朋友圈友情的句子唯美簡短
- 姐妹聚會朋友圈文案簡約 閨蜜聚會朋友圈文案
- 減肥正能量的句子經典 關于堅持減肥的正能量句子
- 張藝興經典語錄勵志夢想 張藝興說過的努力的句子
- 朋友圈沙雕文案 微信朋友圈沙雕文案
- 朋友圈上岸文案研究生考研公務員考公教招
- 微信經典拍一拍語錄 拍一拍搞笑語錄
- 2021朋友圈情緒文案 讓你瞬間安靜的情緒文案
- 2021朋友圈曬娃文案 曬娃發朋友圈的好句子
- 勵志語錄經典短句 每日一句勵志語錄英語100句
- 朋友圈夸女生漂亮的話 朋友圈夸女生漂亮的評論
- 2021沙塵暴朋友圈文案 北方沙塵暴文案
- 春游文案朋友圈可愛 春游的句子短句唯美朋友圈
- 有趣的朋友圈音樂節文案 演唱會朋友圈文案
- 偶像正能量勵志的句子 最新勵志早安正能量的句子
- 朋友圈陰天文案 陰天的句子說說心情
- 黃磊經典語錄大全 黃磊語錄人生智慧
- 深夜朋友圈文案傷感 傷感文案短句扎心
- 追星女孩溫柔文案 追星文案短句干凈治愈
- 晚安句子朋友圈 晚安語錄經典語錄暖心
- 有關春天的文案短句 春天的文案朋友圈溫柔
- 情人節情侶朋友圈文案 情人節朋友圈告白文案
- 適合姐妹聚會發朋友圈的句子 適合好友聚會發的朋友圈
- 山河令朋友圈文案 山河令經典臺詞經典語錄摘抄
- 2021五月文案朋友圈 迎接五月的文案
- 生活負能量語錄 負能量搞笑語錄
精品推薦
- 博樂市05月30日天氣:晴,風向:無持續風向,風力:<3級,氣溫:25/10℃
- 鹽池縣05月30日天氣:晴轉小雨,風向:無持續風向,風力:<3級轉3-4級,氣溫:28/16℃
- 射陽縣05月30日天氣:陰,風向:東北風,風力:<3級,氣溫:20/18℃
- 茫崖05月30日天氣:晴,風向:西北風,風力:3-4級轉<3級,氣溫:17/8℃
- 稷山縣05月30日天氣:多云,風向:西風,風力:3-4級轉<3級,氣溫:24/18℃
- 垣曲縣05月30日天氣:晴轉多云,風向:西北風,風力:<3級,氣溫:26/16℃
- 涇源縣05月30日天氣:晴轉小雨,風向:無持續風向,風力:<3級轉3-4級,氣溫:24/9℃
- 囊謙縣05月30日天氣:晴,風向:西南風,風力:3-4級轉<3級,氣溫:24/5℃
- 臨猗縣05月30日天氣:晴轉多云,風向:西風,風力:<3級,氣溫:22/18℃
- 銀川市05月30日天氣:晴轉小雨,風向:無持續風向,風力:<3級轉3-4級,氣溫:31/14℃