Unicode編碼介紹

yanghui01發表於2024-09-05

什麼是Unicode編碼?

Unicode是字元編碼規範,它定義了所有文字的編碼規則。說通俗點就是它按照某個規則給每個字元都分配了一個數字編號(比如:'A'的編號為65或0x0041,'萬'的編號為19981或0x4e0d),相當於是一個編號庫。這個數字編號也叫Unicode碼。最開始這個編號使用2個位元組表示(0x0000~0xFFFF),後來發現不夠又擴充套件到4個位元組(擴充套件出的部分:0x10000~0x10FFFF)。

和utf-8編碼的區別是啥?

Unicode只是一個標準,透過它我們可以獲取到字元的編號(Unicode碼),而這個編號如何儲存,它並沒有定義。而這個正是utf-8編碼做的事,它是建立在Unicode編碼基礎上,定義了Unicode碼的儲存規範。

比如:'A'的編號為65或0x0041,utf-8會儲存為1個位元組:0x41,這樣就可以節省一半的儲存空間。

一些常見的Unicode編碼範圍

0000-007F:C0控制符及基本拉丁文 (C0 Control and Basic Latin)

0080-00FF:C1控制符及拉丁文補充-1 (C1 Control and Latin 1 Supplement)

0100-017F:拉丁文擴充套件-A (Latin Extended-A)

0180-024F:拉丁文擴充套件-B (Latin Extended-B)

0250-02AF:國際音標擴充套件 (IPA Extensions)

02B0-02FF:空白修飾字母 (Spacing Modifiers)

0370-03FF:希臘文及科普特文 (Greek and Coptic)

0400-04FF:西裡爾字母 (Cyrillic)

1E00-1EFF:拉丁文擴充附加 (Latin Extended Additional)

2000-206F:常用標點 (General Punctuation)

2070-209F:上標及下標 (Superscripts and Subscripts)

20A0-20CF:貨幣符號 (Currency Symbols)

20D0-20FF:組合用記號 (Combining Diacritics Marks for Symbols)

2100-214F:字母式符號 (Letterlike Symbols)

2150-218F:數字形式 (Number Form)

2190-21FF:箭頭 (Arrows)

2200-22FF:數學運算子 (Mathematical Operator)

2300-23FF:雜項工業符號 (Miscellaneous Technical)

2460-24FF:封閉式字母數字 (Enclosed Alphanumerics)

2500-257F:製表符 (Box Drawing)

2580-259F:方塊元素 (Block Element)

25A0-25FF:幾何圖形 (Geometric Shapes)

2600-26FF:雜項符號 (Miscellaneous Symbols)

2E80-2EFF:CJK 部首補充 (CJK Radicals Supplement)

2F00-2FDF:康熙字典部首 (Kangxi Radicals)

2FF0-2FFF:表意文字描述符 (Ideographic Description Characters)

3000-303F:CJK 符號和標點 (CJK Symbols and Punctuation)

3040-309F:日文平假名 (Hiragana)

30A0-30FF:日文片假名 (Katakana)

3100-312F:注音字母 (Bopomofo)

3190-319F:象形字註釋標誌 (Kanbun)

31A0-31BF:注音字母擴充套件 (Bopomofo Extended)

31C0-31EF:CJK 筆畫 (CJK Strokes)

31F0-31FF:日文片假名語音擴充套件 (Katakana Phonetic Extensions)

3200-32FF:封閉式 CJK 文字和月份 (Enclosed CJK Letters and Months)

3300-33FF:CJK 相容 (CJK Compatibility)

3400-4DBF:CJK 統一表意符號擴充套件 A (CJK Unified Ideographs Extension A)

4E00-9FFF:CJK 統一表意符號 (CJK Unified Ideographs)

F900-FAFF:CJK 相容象形文字 (CJK Compatibility Ideographs)

FE10-FE1F:豎排形式 (Vertical Forms)

FE30-FE4F:CJK 相容形式 (CJK Compatibility Forms)

D800-DBFF:給UTF-16用的代理高半區(High-half zone of UTF-16)

DC00-DFFF:給UTF-16用的代理低半區(Low-half zone of UTF-16)

E000-F8FF:自行使用區域 (Private Use Zone)

FFF0-FFFF:特殊 (Specials)

上面的紅色部分為在中國用的比較多的字元,藍色部分是日文的字元

專業名詞解釋:

Ideographs:表意文字,也叫象形文字

CJK:中日韓

要檢視各個Unicode編碼範圍的字元資訊,可以使用BMFont,BMFont - AngelCode.com

參考

utf8,utf16,utf32,bom詳解(轉) - 宏2018 - 部落格園 (cnblogs.com)

Unicode 字符集、編碼 相關的基本介紹-CSDN部落格

各種語系的unicode對應以及local編碼方式 - YoZane - 部落格園 (cnblogs.com)

Unicode 中文,日文,西歐語言Unicode編碼域(區間)_日文unicode範圍-CSDN部落格

相關文章