在做文字資料的清理時,最頭痛就是內含有特殊的字元,諸如一些標點符號 (如”^*/$#)、特殊符號 (如空白、TAB) 甚至,系統控制符號 (如 \n 換行字元、\b 退位字元) 或尚未被定義的編碼。如果是在全英文的環境,要清理字元還算簡單,只需利用 ASCII Code 判斷字元是不是英文或數字即可。最直覺的辦法就是利用 replace() 這個函數以窮舉法去將目標字元移除,例如欲移除字串中的空白、TAB和換行字元可以用下列方式移除:
string.replace(' ', '').replace(' ', '').replace('\n', '') #TAB也可以用\t表示
(由於接下來稍為對編碼及語法做簡單的說明,若已熟悉編碼或Python語法可以跳到最後直接參考範例程式)
利用字元編碼清除特殊字元
Python 內建就可以利用 ord() 函數取得字元的實際編碼,反過來也可以利用 chr() 函數將編碼重新轉換成字元。
▍ 利用 ord() 函數取得字元編碼
同樣得,如果是在英文環境那還算單純,由於 ASCII Code 其實就是對應 0 ~ 255 的數字,例如換行字元 (\n) 等同於 10、TAB 字元等同於 9。所以若只希望保留大小寫英文字元及數字,可以利用 ord() 函數取得字元的編碼,再判斷該字元應該被保留或移除。大寫英文字母 (A-Z) 的編碼分別對應 65~90、小寫英文字母 (a-z) 則為 97~122,而數字 (0-9) 的編碼則是 48~57。清除字元的範例如下,最終 string 的結果會是 'teststring'
:
source = 'test string*&#' #原始字串,包含空白及特殊字元 string = '' #空字串,儲存清除後的結果 for char in source: if 65 <= ord(char) <= 90 or 97 <= ord(char) <= 122 or 48 <= ord(char) <= 57: string += char
當然,也可以把上面的程式改成函數的方式重複使用:
def string_cleaner(source): string = '' #空字串,儲存清除後的結果 for char in source: if 65 <= ord(char) <= 90 or 97 <= ord(char) <= 122 or 48 <= ord(char) <= 57: string += char return string
如果還希望保留其他字元,例如小數點 (.) 編碼為 46,也可以自行將 ASCII Code 加入判斷式當中。
▍補充:利用 chr() 函數將編碼轉換為字元
這邊補充一個相反的函數:chr()
剛剛我們利用 ord() 函數可以將字元轉換成實際的編碼數字,相反的若我們希望把編碼轉換成真正的字元,則可以利用 chr() 這個函數實現。例如編碼 48 實際上就是數字 0、編碼 72 實際上是大寫 H,當然也可以利用編碼加入特殊字元或系統控制符號。以下就是一個實例,原本是同一行的字串因為插入了換行字元後會變成兩行:
string = 'This is the first line.This is the second line.' #原始是同一行的字串 paragraph = string[:23] + chr(10) + string[23:] #插入換行字元,當然也可以用 '\n' 的方式插入
CJK Characters 中日韓字元
說了這麼多這裡終於要進入正題,前面我們只提到在英文的環境下要如何清理字串,但到了亞洲文字事情就變得不單純。如果對二進位數字比較敏感的人可能會發現 ASCII Code 是一個 8 bits 的編碼,也就是在電腦中可以用八個位數的二進位去儲存字元 (一個字元佔 1 byte),可以儲存的數量就是 2 的 8 次方種組合,分別就是對應 0 ~ 255 的數字。但實際上全世界的文字絕對遠多於 256 種,甚至拉丁字母本身就已經不只是大小寫的 A-Z 這麼簡單,以至於後面出現了更多的 Latin Extended-A、Latin Extended-B 等字元集,這邊要提到的便是 Unicode。
Unicode 的中文翻譯有很多種,可以說是統一碼、萬國碼、單一碼等,總之他就是一個編碼儲存了世界上大部分的文字系統,也就是包含了現行世界上的電腦使用的所有文字。想當然爾,使用 Unicode 邊碼的文字不再是 8 bits 就足以儲存,例如中文字可能就需要 2 個甚至 3 個 bytes 來儲存字元邊碼,目前最常見就是使用 UTF-8 的編碼格式。
▍由 Unicode 區段列表中挑選出保留的字元區段
這篇文章的重點不是要講解邊碼的歷史或是組成格式,詳細可以在上網去查。這邊要提到的是當我們在處理包含中文字的字串時 (甚至是日韓文字) 該如何移除特殊字元,方法其實和前面利用邊碼的數字範圍判斷很類似。如果打開 Unicode 的區段列表,首先可以看到最前面兩組便是 ASCII Code (0-127) 和 The extended ASCII codes (128-255),後面還有各種語言的文字系統。若往下翻就可以看到如標題描述的 CJK Unified Ideographs (中日韓文統一表意文字),這邊的 CJK 當然分別就是表示中文、日文及韓文。同樣的,這裡不詳述邊碼的編撰歷史和各種邊碼區段的詳細組成,有興趣可以自己上網查詢。
換句話說,想要針對含有中日韓文的字串當中移除特殊字元,只需利用 Unicode 的編碼區段去做一個粗略的快速判斷,將不在這些範圍內的字元直接移除即可。所以這邊已經整理好現行所有的 Unicode 區段列表 (詳見附錄),並從中挑選出我們會使用到的 CJK 中日韓文字元集:
Unicode區段與包含的文字 | ||||||
---|---|---|---|---|---|---|
區段範圍 | 區段名稱 | 英文名稱 | 碼位數[a] | 已定義 字元數 |
文字[b][c][d][e][f] | |
U+0000..U+007F | 基本拉丁字母 | Basic Latin[g] | 128 | 128 | 拉丁字母(52個), 共同字元(76個) | |
U+0080..U+00FF | 拉丁字母補充-1 | Latin-1 Supplement[h] | 128 | 128 | 拉丁字母(64個), 共同字元(64個) | |
U+0100..U+017F | 拉丁字母擴展-A | Latin Extended-A | 128 | 128 | 拉丁 | |
U+0180..U+024F | 拉丁字母擴展-B | Latin Extended-B | 208 | 208 | 拉丁 | |
U+2E80..U+2EFF | 中日韓漢字部首補充 | CJK Radicals Supplement | 128 | 115 | 漢字 | |
U+2F00..U+2FDF | 康熙部首 | Kangxi Radicals | 224 | 214 | 漢字 | |
U+2FF0..U+2FFF | 表意文字描述字符 | Ideographic Description Characters | 16 | 12 | 共用 | |
U+3000..U+303F | 中日韓符號和標點 | CJK Symbols and Punctuation | 64 | 64 | 漢字(15個), 諺文(2個), 共用(43個), 繼承(4個) | |
U+3040..U+309F | 平假名 | Hiragana | 96 | 93 | 平假名(89個), 共用(2個), 繼承(2個) | |
U+30A0..U+30FF | 片假名 | Katakana | 96 | 96 | 片假名(93個), 共用(3個) | |
U+3100..U+312F | 注音符號 | Bopomofo | 48 | 43 | 注音字母 | |
U+3130..U+318F | 諺文相容字母 | Hangul Compatibility Jamo | 96 | 94 | 諺文 | |
U+3190..U+319F | 漢文訓讀 | Kanbun | 16 | 16 | 共用 | |
U+31A0..U+31BF | 注音符號擴展 | Bopomofo Extended | 32 | 32 | 注音字母 | |
U+31C0..U+31EF | 中日韓筆畫 | CJK Strokes | 48 | 36 | 共用 | |
U+31F0..U+31FF | 片假名拼音擴展 | Katakana Phonetic Extensions | 16 | 16 | 片假名 | |
U+3200..U+32FF | 中日韓圍繞字元及月份 | Enclosed CJK Letters and Months | 256 | 255 | 諺文(62個), 片假名(47個), 共用(146個) | |
U+3300..U+33FF | 中日韓相容字元 | CJK Compatibility | 256 | 256 | 片假名(88個), 共用(168個) | |
U+3400..U+4DBF | 中日韓統一表意文字擴展區A | CJK Unified Ideographs Extension A | 6592 | 6582 | 漢字 | |
U+4DC0..U+4DFF | 易經六十四卦符號 | Yijing Hexagram Symbols | 64 | 64 | 共用 | |
U+4E00..U+9FFF | 中日韓統一表意文字 | CJK Unified Ideographs | 20992 | 20989 | 漢字 | |
U+F900..U+FAFF | 中日韓相容表意文字 | CJK Compatibility Ideographs | 512 | 472 | 漢字 | |
U+FE30..U+FE4F | 中日韓相容形式 | CJK Compatibility Forms | 32 | 32 | 共用 | |
U+FF00..U+FFEF | 半形及全形字符 | Halfwidth and Fullwidth Forms | 240 | 225 | 諺文(52個), 片假名(55個), 拉丁(52個), 共用(66個) | |
U+16FE0..U+16FFF | 表意符號和標點符號 | Ideographic Symbols and Punctuation | 32 | 7 | 漢字(2個)、契丹小字(1個)、女書(1個)、西夏文(1個), 通用(2個) | |
U+20000..U+2A6DF | 中日韓統一表意文字擴展區B | CJK Unified Ideographs Extension B | 42720 | 42718 | 漢字 | |
U+2A700..U+2B73F | 中日韓統一表意文字擴展區C | CJK Unified Ideographs Extension C | 4160 | 4149 | 漢字 | |
U+2B740..U+2B81F | 中日韓統一表意文字擴展區D | CJK Unified Ideographs Extension D | 224 | 222 | 漢字 | |
U+2B820..U+2CEAF | 中日韓統一表意文字擴展區E | CJK Unified Ideographs Extension E | 5776 | 5762 | 漢字 | |
U+2CEB0..U+2EBEF | 中日韓統一表意文字擴展區F | CJK Unified Ideographs Extension F | 7488 | 7473 | 漢字 | |
U+2F800..U+2FA1F | 中日韓相容表意文字補充區 | CJK Compatibility Ideographs Supplement | 544 | 542 | 漢字 | |
U+30000..U+3134F | 中日韓統一表意文字擴展區G | CJK Unified Ideographs Extension G | 4944 | 4939 | 漢字 |
首先要先說明的是,上表挑選出的字集分為三個等級:
- 第一部分,上表所列就是所有與漢文字、日文、韓文,或台灣使用的注音符號、相關標點符號、全形英數字等所有相關字元集 (即黃色底、橘色底及紅色底的部分)。
- 而為了避免包含太多邊碼,第二部分則移除如易經、訓讀文字、描述字符等字元集,留下的則是我們日常生活中比較會使用到的字元,也就是橘色及紅色底的部分。
- 第三部分則是下面範例程式所定義的中日韓文字集,符合這區段內的字元會被保留下來,不符合則被視為特殊字元將之移除。另外也移除注音符號、標點符號以及太特別的少用文字,最終挑選出上表紅色底的部分。
▍使用正規表示法移除特殊字元
簡單來說,只要字元屬於我們所定義的區段內,就會將字元保留下來,反之我們會移除它。特別注意的是,關於 ASCII Code 的部份我們只保留英數字及其他歐語系拉丁文字,因為 ASCII Code 當中還包含許多特殊符號及系統控制符號。
以下範例是以函數的方式定義一個字串清理程式,將字串丟進去就可以把特殊字元過濾掉,保留下來的字元列表則如註解中說明:
# CJK and Latin Letters Cleaner # Characters and Codes List: # 0-9 Digits (ASCII printable characters) # a-z Basic Latin Letters (ASCII printable characters) # A-Z Basic Latin Letters (ASCII printable characters) # ƒ (\u83) Latin Letters Extened (ASCII extended characters) # Š (\u8a) Latin Letters Extened (ASCII extended characters) # Œ (\u8c) Latin Letters Extened (ASCII extended characters) # Ž (\u8e) Latin Letters Extened (ASCII extended characters) # š (\u9a) Latin Letters Extened (ASCII extended characters) # œ (\u9c) Latin Letters Extened (ASCII extended characters) # ž (\u9e) Latin Letters Extened (ASCII extended characters) # Ÿ (\u9f) Latin Letters Extened (ASCII extended characters) # \uc0-\ud6 Latin Letters Extened (ASCII extended characters) # \ud8-\uf6 Latin Letters Extened (ASCII extended characters) # \uf8-\uff Latin Letters Extened (ASCII extended characters) # \u100-\u17f European Latin (Latin Extended-A) # \u4e00-\u9fff CJK Unified Ideographs (中日韓統一表意文字) # \u3040-\u309f Hiragana (平假名) # \u30a0-\u30ff Katakana (片假名) # \u3130-\u318f Korean language and computers (Hangul Compatibility Jamo 韓文) # \uff00-\uffef Halfwidth and Fullwidth Forms (半形及全形字符) # # !!!! 5 bits unicode, re.UNICODE不支援,暫時不加入 !!!! # \u20000-\u2s6df CJK Unified Ideographs Extension B (中日韓統一表意文字擴展區B) # \u2a700-\u2b73f CJK Unified Ideographs Extension B (中日韓統一表意文字擴展區C) # \u2b740-\u2b81f CJK Unified Ideographs Extension B (中日韓統一表意文字擴展區D) # \u2b820-\u2ceaf CJK Unified Ideographs Extension B (中日韓統一表意文字擴展區E) # \u2ceb0-\u2ebef CJK Unified Ideographs Extension B (中日韓統一表意文字擴展區F) # \u2f800-\u2fa1f CJK Unified Ideographs Extension B (中日韓相容表意文字補充區) # \u30000-\u3134f CJK Unified Ideographs Extension B (中日韓統一表意文字擴展區G) ## regex package ## import re ## Main Function ## def CJK_cleaner(string): #Keep CJS Characters, Latin Letters and Digits (listed above) filters = re.compile(u'[^0-9a-zA-Z\u0083\u008a\u008c\u008e\u009a\u009c\u009e\u009f\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u00ff\u0100-\u017f\u4e00-\u9fff\u3040-\u309f\u30a0-\u30ff\u3130-\u318f\uff00-\uffef]+', re.UNICODE) return filters.sub('', string) #remove special characters #------
這邊不詳細說明正規表示法的函數和格式,re.compile() 函數定義了正規表示法,其中很長一連串的 Unicode 邊碼 \uxxxx 列出的是我們所接受的字元區段,^ 符號則為否定的意思,+ 符號則代表一次或多次出現,簡言之就是挑出不符合上列編碼的所有字元。而 sub() 函數則是將表示法中描述的字元替換為 ''
空字元,也就是移除。
注意尚未被定義的字元編碼
由於我們是以比較快速的方法,利用編碼區段直接辨識字元究竟屬於哪類文字,但是需注意的是並非整個區段中的所有編碼都已經被定義,且即使被定義亦有可能包含一些特殊字元。以「中日韓符號和標點」為例,雖該區段 64 個字元編碼均已被定義,但我仍曾經見過有資料倉儲使用 \u3000
作為分隔符號 (參考 Unicode 官方文件),而實際上這個字元於大多數的文件、軟體當中亦不會被顯示,或是以空格顯示。所以若是沒有將這個字元排除,會導致字串在進行處裡或辨識的時候可能造成誤判。
當然我們可以不要將一些比較特別的字元集放入,以本篇的範例來說也沒有將「中日韓符號和標點」列入保留的字元當中。若為求保險些,可以只選擇保留最常見的中文字集,即「中日韓統一表意文字 (CJK Unified Ideographs)」,Unicode 編碼區段為 \u4e00-\u9fff,程式碼則可以簡化如下。不過特別注意一下即使這個字集也非所有字元碼均已被定義,為了避免可能出現的誤判,在程式撰寫的時候還是最後注意一下資料當中是否存在特別的字元。
def CJK_cleaner(string): #移除特殊字元,僅保留英數字及中日韓統一表意文字(CJK Unified Ideographs) filters = re.compile(u'[^0-9a-zA-Z\u4e00-\u9fff]+', re.UNICODE) return filters.sub('', string) #remove special characters
附件:Unicode 區段列表
Unicode區段與包含的文字 | ||||||
---|---|---|---|---|---|---|
平面 | 區段範圍 | 區段名稱 | 英文名稱 | 碼位數[a] | 已定義 字元數 |
文字[b][c][d][e][f] |
0 BMP | U+0000..U+007F | 基本拉丁字母 | Basic Latin[g] | 128 | 128 | 拉丁字母(52個), 共同字元(76個) |
U+0080..U+00FF | 拉丁字母補充-1 | Latin-1 Supplement[h] | 128 | 128 | 拉丁字母(64個), 共同字元(64個) | |
U+0100..U+017F | 拉丁字母擴展-A | Latin Extended-A | 128 | 128 | 拉丁 | |
U+0180..U+024F | 拉丁字母擴展-B | Latin Extended-B | 208 | 208 | 拉丁 | |
U+0250..U+02AF | 國際音標擴展 | IPA Extensions | 96 | 96 | 拉丁 | |
U+02B0..U+02FF | 佔位修飾符號 | Spacing Modifier Letters | 80 | 80 | 注音符號(2個), 拉丁字元(14 個), 共用(64 個) | |
U+0300..U+036F | 組合附加符號 | Combining Diacritical Marks | 112 | 112 | 繼承(Inherited) | |
U+0370..U+03FF | 希臘字母及科普特字母 | Greek and Coptic | 144 | 135 | 科普特字母(14個), 希臘字母(117個), 共用(4個) | |
U+0400..U+04FF | 西里爾字母 | Cyrillic | 256 | 256 | 西里爾字母(254個), 繼承(2個) | |
U+0500..U+052F | 西里爾字母補充 | Cyrillic Supplement | 48 | 48 | 西里爾字母 | |
U+0530..U+058F | 亞美尼亞字母 | Armenian | 96 | 91 | 亞美尼亞字母 | |
U+0590..U+05FF | 希伯來文字母 | Hebrew | 112 | 88 | 希伯來字母 | |
U+0600..U+06FF | 阿拉伯文字母 | Arabic | 256 | 255 | 阿拉伯字母(237個), 共用(6個), 繼承(12個) | |
U+0700..U+074F | 敘利亞字母 | Syriac | 80 | 77 | 敘利亞字母 | |
U+0750..U+077F | 阿拉伯文補充 | Arabic Supplement | 48 | 48 | 阿拉伯文 | |
U+0780..U+07BF | 它拿字母 | Thaana | 64 | 50 | 它拿字母 | |
U+07C0..U+07FF | 西非書面文字 | NKo | 64 | 62 | 西非書面文字 | |
U+0800..U+083F | 撒瑪利亞字母 | Samaritan | 64 | 61 | 撒瑪利亞字母 | |
U+0840..U+085F | 曼達安字母 | Mandaic | 32 | 29 | 曼達安字母 | |
U+0860..U+086F | 敘利亞文補充 | Syriac Supplement | 16 | 11 | 敘利亞文 | |
U+08A0..U+08FF | 阿拉伯文擴展-A | Arabic Extended-A | 96 | 84 | 阿拉伯字母(83個), 共用(1個) | |
U+0900..U+097F | 天城文 | Devanagari | 128 | 128 | 天城文(122個), 共用(2個), 繼承(4個) | |
U+0980..U+09FF | 孟加拉文 | Bengali | 128 | 96 | 孟加拉文 | |
U+0A00..U+0A7F | 古木基文 | Gurmukhi | 128 | 80 | 古木基文 | |
U+0A80..U+0AFF | 古吉拉特文 | Gujarati | 128 | 91 | 古吉拉特文 | |
U+0B00..U+0B7F | 奧里亞文 | Oriya | 128 | 91 | 奧里亞文 | |
U+0B80..U+0BFF | 泰米爾文 | Tamil | 128 | 72 | 泰米爾文 | |
U+0C00..U+0C7F | 泰盧固文 | Telugu | 128 | 98 | 泰盧固文 | |
U+0C80..U+0CFF | 卡納達文 | Kannada | 128 | 89 | 卡納達文 | |
U+0D00..U+0D7F | 馬拉雅拉姆文 | Malayalam | 128 | 117 | 馬拉雅拉姆文 | |
U+0D80..U+0DFF | 僧伽羅文 | Sinhala | 128 | 91 | 僧伽羅文 | |
U+0E00..U+0E7F | 泰文 | Thai | 128 | 87 | 泰文(86個), 共用(1個) | |
U+0E80..U+0EFF | 寮文 | Lao | 128 | 82 | 寮文 | |
U+0F00..U+0FFF | 藏文 | Tibetan | 256 | 211 | 藏文字母(207個), 共用(4個) | |
U+1000..U+109F | 緬甸文 | Myanmar | 160 | 160 | 緬文 | |
U+10A0..U+10FF | 喬治亞字母 | Georgian | 96 | 88 | 喬治亞字母(87個), 共用(1個) | |
U+1100..U+11FF | 諺文字母 | Hangul Jamo | 256 | 256 | 諺文 | |
U+1200..U+137F | 吉茲字母 | Ethiopic | 384 | 358 | 吉茲字母 | |
U+1380..U+139F | 吉茲字母補充 | Ethiopic Supplement | 32 | 26 | 吉茲字母 | |
U+13A0..U+13FF | 切羅基文 | Cherokee | 96 | 92 | 切羅基文 | |
U+1400..U+167F | 統一加拿大原住民音節文字 | Unified Canadian Aboriginal Syllabics | 640 | 640 | 加拿大原住民音節文字 | |
U+1680..U+169F | 歐甘字母 | Ogham | 32 | 29 | 歐甘字母 | |
U+16A0..U+16FF | 盧恩字母 | Runic | 96 | 89 | 盧恩字母(86個), 共用(3個) | |
U+1700..U+171F | 他加祿字母 | Tagalog | 32 | 20 | 他加祿字母 | |
U+1720..U+173F | 哈努諾文 | Hanunoo | 32 | 23 | 哈努諾字母(21個), 共用(2個) | |
U+1740..U+175F | 布希德文 | Buhid | 32 | 20 | 布希德文 | |
U+1760..U+177F | 塔格巴努亞文 | Tagbanwa | 32 | 18 | 塔格巴努亞文 | |
U+1780..U+17FF | 高棉文 | Khmer | 128 | 114 | 高棉文 | |
U+1800..U+18AF | 蒙古文 | Mongolian | 176 | 157 | 蒙古文字母(154個), 共用(3個) | |
U+18B0..U+18FF | 加拿大原住民音節文字擴展 | Unified Canadian Aboriginal Syllabics Extended | 80 | 70 | 加拿大原住民音節文字 | |
U+1900..U+194F | 林布文 | Limbu | 80 | 68 | 林布文 | |
U+1950..U+197F | 德宏傣文 | Tai Le | 48 | 35 | 德宏傣文 | |
U+1980..U+19DF | 新傣仂文 | New Tai Le | 96 | 83 | 新傣仂文 | |
U+19E0..U+19FF | 高棉文符號 | Khmer Symbols | 32 | 32 | 高棉文 | |
U+1A00..U+1A1F | 布吉文 | Buginese | 32 | 30 | 布吉文 | |
U+1A20..U+1AAF | 老傣文 | Tai Tham | 144 | 127 | 老傣文 | |
U+1AB0..U+1AFF | 組合附加符號擴展 | Combining Diacritical Marks Extended | 80 | 17 | 繼承 | |
U+1B00..U+1B7F | 峇里字母 | Balinese | 128 | 121 | 峇里字母 | |
U+1B80..U+1BBF | 巽他字母 | Sundanese | 64 | 64 | 巽他字母 | |
U+1BC0..U+1BFF | 巴塔克文 | Batak | 64 | 56 | 巴塔克文 | |
U+1C00..U+1C4F | 絨巴文 | Lepcha | 80 | 74 | 絨巴文 | |
U+1C50..U+1C7F | 桑塔利文 | Ol Chiki | 48 | 48 | 桑塔利文 | |
U+1C80..U+1C8F | 西里爾字母擴展-C | Cyrillic Extended-C | 16 | 9 | 西里爾字母 | |
U+1C90..U+1CBF | 喬治亞字母擴展 | Georgian Extended | 48 | 46 | 喬治亞字母 | |
U+1CC0..U+1CCF | 巽他字母補充 | Sundanese Supplement | 16 | 8 | 巽他字母 | |
U+1CD0..U+1CFF | 梵文吠陀擴展 | Vedic Extensions | 48 | 43 | 共用(16個), 繼承(27個) | |
U+1D00..U+1D7F | 音標擴展 | Phonetic Extensions | 128 | 128 | 西里爾字母(2個), 希臘字母(15個), 拉丁字母(111個) | |
U+1D80..U+1DBF | 音標擴展補充 | Phonetic Extensions Supplement | 64 | 64 | 希臘字母(1個), 拉丁字母(63個) | |
U+1DC0..U+1DFF | 組合附加符號補充 | Combining Diacritical Marks Supplement | 64 | 63 | 繼承 | |
U+1E00..U+1EFF | 拉丁文擴展附加 | Latin Extended Additional | 256 | 256 | 拉丁 | |
U+1F00..U+1FFF | 希臘字母擴展 | Greek Extended | 256 | 233 | 希臘字母 | |
U+2000..U+206F | 常用標點 | General Punctuation | 112 | 111 | 共用(109個), 繼承(2個) | |
U+2070..U+209F | 上標及下標 | Superscripts and Subscripts | 48 | 42 | 拉丁(15個), 共用(27個) | |
U+20A0..U+20CF | 貨幣符號 | Currency Symbols | 48 | 32 | 共用 | |
U+20D0..U+20FF | 符號用組合附加符號 | Combining Diacritical Marks for Symbols | 48 | 33 | 繼承 | |
U+2100..U+214F | 字母式符號 | Letterlike Symbols | 80 | 80 | 希臘文(1個), 拉丁(4個), 共用(75個) | |
U+2150..U+218F | 數字形式 | Number Forms | 64 | 60 | 拉丁(41個), 共用(19個) | |
U+2190..U+21FF | 箭頭 | Arrows | 112 | 112 | 共用 | |
U+2200..U+22FF | 數學運算子 | Mathematical Operators | 256 | 256 | 共用 | |
U+2300..U+23FF | 雜項工業符號 | Miscellaneous Technical | 256 | 256 | 共用 | |
U+2400..U+243F | 控制圖片 | Control Pictures | 64 | 39 | 共用 | |
U+2440..U+245F | 光學識別符 | Optical Character Recognition | 32 | 11 | 共用 | |
U+2460..U+24FF | 帶圈字母和數字 | Enclosed Alphanumerics | 160 | 160 | 共用 | |
U+2500..U+257F | 制表符 | Box Drawing | 128 | 128 | 共用 | |
U+2580..U+259F | 方塊元素 | Block Elements | 32 | 32 | 共用 | |
U+25A0..U+25FF | 幾何圖形 | Geometric Shapes | 96 | 96 | 共用 | |
U+2600..U+26FF | 雜項符號 | Miscellaneous Symbols | 256 | 256 | 共用 | |
U+2700..U+27BF | 裝飾符號 | Dingbats | 192 | 192 | 共用 | |
U+27C0..U+27EF | 雜項數學符號-A | Miscellaneous Mathematical Symbols-A | 48 | 48 | 共用 | |
U+27F0..U+27FF | 追加箭頭-A | Supplemental Arrows-A | 16 | 16 | 共用 | |
U+2800..U+28FF | 盲文點字模型 | Braille Patterns | 256 | 256 | 盲文點字模型 | |
U+2900..U+297F | 追加箭頭-B | Supplemental Arrows-B | 128 | 128 | 共用 | |
U+2980..U+29FF | 雜項數學符號-B | Miscellaneous Mathematical Symbols-B | 128 | 128 | 共用 | |
U+2A00..U+2AFF | 追加數學運算子 | Supplemental Mathematical Operators | 256 | 256 | 共用 | |
U+2B00..U+2BFF | 雜項符號和箭頭 | Miscellaneous Symbols and Arrows | 256 | 253 | 共用 | |
U+2C00..U+2C5F | 格拉哥里字母 | Glagolitic | 96 | 94 | 格拉哥里字母 | |
U+2C60..U+2C7F | 拉丁文擴展-C | Latin Extended-C | 32 | 32 | 拉丁字母 | |
U+2C80..U+2CFF | 科普特字母 | Coptic | 128 | 123 | 科普特字母 | |
U+2D00..U+2D2F | 喬治亞字母補充 | Georgian Supplement | 48 | 40 | 喬治亞字母 | |
U+2D30..U+2D7F | 提非納文 | Tifinagh | 80 | 59 | 提非納文 | |
U+2D80..U+2DDF | 吉茲字母擴展 | Ethiopic Extended | 96 | 79 | 吉茲字母 | |
U+2DE0..U+2DFF | 西里爾字母擴展-A | Cyrillic Extended-A | 32 | 32 | 西里爾字母 | |
U+2E00..U+2E7F | 追加標點 | Supplemental Punctuation | 128 | 83 | 共用 | |
U+2E80..U+2EFF | 中日韓漢字部首補充 | CJK Radicals Supplement | 128 | 115 | 漢字 | |
U+2F00..U+2FDF | 康熙部首 | Kangxi Radicals | 224 | 214 | 漢字 | |
U+2FF0..U+2FFF | 表意文字描述字符 | Ideographic Description Characters | 16 | 12 | 共用 | |
U+3000..U+303F | 中日韓符號和標點 | CJK Symbols and Punctuation | 64 | 64 | 漢字(15個), 諺文(2個), 共用(43個), 繼承(4個) | |
U+3040..U+309F | 平假名 | Hiragana | 96 | 93 | 平假名(89個), 共用(2個), 繼承(2個) | |
U+30A0..U+30FF | 片假名 | Katakana | 96 | 96 | 片假名(93個), 共用(3個) | |
U+3100..U+312F | 注音符號 | Bopomofo | 48 | 43 | 注音字母 | |
U+3130..U+318F | 諺文相容字母 | Hangul Compatibility Jamo | 96 | 94 | 諺文 | |
U+3190..U+319F | 漢文訓讀 | Kanbun | 16 | 16 | 共用 | |
U+31A0..U+31BF | 注音符號擴展 | Bopomofo Extended | 32 | 32 | 注音字母 | |
U+31C0..U+31EF | 中日韓筆畫 | CJK Strokes | 48 | 36 | 共用 | |
U+31F0..U+31FF | 片假名拼音擴展 | Katakana Phonetic Extensions | 16 | 16 | 片假名 | |
U+3200..U+32FF | 中日韓圍繞字元及月份 | Enclosed CJK Letters and Months | 256 | 255 | 諺文(62個), 片假名(47個), 共用(146個) | |
U+3300..U+33FF | 中日韓相容字元 | CJK Compatibility | 256 | 256 | 片假名(88個), 共用(168個) | |
U+3400..U+4DBF | 中日韓統一表意文字擴展區A | CJK Unified Ideographs Extension A | 6592 | 6582 | 漢字 | |
U+4DC0..U+4DFF | 易經六十四卦符號 | Yijing Hexagram Symbols | 64 | 64 | 共用 | |
U+4E00..U+9FFF | 中日韓統一表意文字 | CJK Unified Ideographs | 20992 | 20989 | 漢字 | |
U+A000..U+A48F | 彝文音節 | Yi Syllables | 1168 | 1165 | 彝文 | |
U+A490..U+A4CF | 彝文字根 | Yi Radicals | 64 | 55 | 彝文 | |
U+A4D0..U+A4FF | 老傈僳文 | Lisu | 48 | 48 | 老傈僳文 | |
U+A500..U+A63F | 瓦伊語文字 | Vai | 320 | 300 | 瓦伊文 | |
U+A640..U+A69F | 西里爾字母擴展-B | Cyrillic Extended-B | 96 | 96 | 西里爾字母 | |
U+A6A0..U+A6FF | 巴姆穆文字 | Bamum | 96 | 88 | 巴姆穆文字 | |
U+A700..U+A71F | 聲調修飾符號 | Modifier Tone Letters | 32 | 32 | 共用 | |
U+A720..U+A7FF | 拉丁文擴展-D | Latin Extended-D | 224 | 180 | 拉丁(175個), 共用(5個) | |
U+A800..U+A82F | 錫爾赫特文 | Syloti Nagri | 48 | 44 | 錫爾赫特文 | |
U+A830..U+A83F | 通用印度數字格式 | Common Indic Number Forms | 16 | 10 | 共用 | |
U+A840..U+A87F | 八思巴字 | Phags-pa | 64 | 56 | 八思巴字 | |
U+A880..U+A8DF | 索拉什特拉文 | Saurashtra | 96 | 82 | 索拉什特拉文 | |
U+A8E0..U+A8FF | 天城文擴展 | Devanagari Extended | 32 | 32 | 天城文 | |
U+A900..U+A92F | 克耶里字母 | Kayah Li | 48 | 48 | 克耶里字母(47個), 共用(1個) | |
U+A930..U+A95F | 勒姜字母 | Rejang | 48 | 37 | 勒姜字母 | |
U+A960..U+A97F | 諺文擴展-A | Hangul Jamo Extended-A | 32 | 29 | 諺文 | |
U+A980..U+A9DF | 爪哇字母 | Javanese | 96 | 91 | 爪哇字母(90個), 共用(1個) | |
U+A9E0..U+A9FF | 緬甸文擴展-B | Myanmar Extended-B | 32 | 31 | 緬甸文 | |
U+AA00..U+AA5F | 占語字母 | Cham | 96 | 83 | 占文 | |
U+AA60..U+AA7F | 緬甸文擴展-A | Myanmar Extended-A | 32 | 32 | 緬甸文 | |
U+AA80..U+AADF | 傣越文 | Tai Viet | 96 | 72 | 傣越文 | |
U+AAE0..U+AAFF | 曼尼普爾文擴展 | Meetei Mayek Extensions | 32 | 23 | 曼尼普爾文 | |
U+AB00..U+AB2F | 吉茲字母擴展-A | Ethiopic Extended-A | 48 | 32 | 吉茲字母 | |
U+AB30..U+AB6F | 拉丁文擴展-E | Latin Extended-E | 64 | 60 | 拉丁(56個), 希臘語(1個), 共用(3個) | |
U+AB70..U+ABBF | 切羅基文補充 | Cherokee Supplement | 80 | 80 | 切羅基文 | |
U+ABC0..U+ABFF | 曼尼普爾文 | Meetei Mayek | 64 | 56 | 曼尼普爾文 | |
U+AC00..U+D7AF | 諺文音節 | Hangul Syllables | 11184 | 11172 | 諺文 | |
U+D7B0..U+D7FF | 諺文字母擴展-B | Hangul Jamo Extended-B | 80 | 72 | 諺文 | |
U+D800..U+DB7F | 高半代用區 | High Surrogates | 896 | 0 | 未知 | |
U+DB80..U+DBFF | 高半私人代用區 | High Private Use Surrogates | 128 | 0 | 未知 | |
U+DC00..U+DFFF | 低半代用區 | Low Surrogates | 1024 | 0 | 未知 | |
U+E000..U+F8FF | 私用區 | Private Use Area | 6400 | 6400 | 未知 | |
U+F900..U+FAFF | 中日韓相容表意文字 | CJK Compatibility Ideographs | 512 | 472 | 漢字 | |
U+FB00..U+FB4F | 字母表達形式 | Alphabetic Presentation Forms | 80 | 58 | 亞美尼亞文(5個), 希伯來文(46個), 拉丁(7個) | |
U+FB50..U+FDFF | 阿拉伯字母表達形式-A | Arabic Presentation Forms-A | 688 | 611 | 阿拉伯字母(609個), 共用(2個) | |
U+FE00..U+FE0F | 變體選擇符 | Variation Selectors | 16 | 16 | 繼承 | |
U+FE10..U+FE1F | 豎排形式 | Vertical Forms | 16 | 10 | 共用 | |
U+FE20..U+FE2F | 組合用半符號 | Combining Half Marks | 16 | 16 | 西里爾字母(2個), 繼承(14個) | |
U+FE30..U+FE4F | 中日韓相容形式 | CJK Compatibility Forms | 32 | 32 | 共用 | |
U+FE50..U+FE6F | 小寫變體形式 | Small Form Variants | 32 | 26 | 共用 | |
U+FE70..U+FEFF | 阿拉伯文表達形式-B | Arabic Presentation Forms-B | 144 | 141 | 阿拉伯字母(140個), 共用(1個) | |
U+FF00..U+FFEF | 半形及全形字符 | Halfwidth and Fullwidth Forms | 240 | 225 | 諺文(52個), 片假名(55個), 拉丁(52個), 共用(66個) | |
U+FFF0..U+FFFF | 特殊 | Specials | 16 | 5 | 共用 | |
1 SMP | U+10000..U+1007F | 線形文字B音節文字 | Linear B Syllabary | 128 | 88 | 線形文字B |
U+10080..U+100FF | 線形文字B表意文字 | Linear B Ideograms | 128 | 123 | 線形文字B | |
U+10100..U+1013F | 愛琴海數字 | Aegean Numbers | 64 | 57 | 共用 | |
U+10140..U+1018F | 古希臘數字 | Ancient Greek Numbers | 80 | 79 | 希臘文 | |
U+10190..U+101CF | 古代符號 | Ancient Symbols | 64 | 14 | 希臘文(1個), 共用(13個) | |
U+101D0..U+101FF | 斐斯托斯圓盤 | Phaistos Disc | 48 | 46 | 共用(45個), 繼承(1個) | |
U+10280..U+1029F | 呂基亞字母 | Lycian | 32 | 29 | 呂基亞字母 | |
U+102A0..U+102DF | 卡里亞字母 | Carian | 64 | 49 | 卡利亞字母 | |
U+102E0..U+102FF | 科普特閏餘數字 | Coptic Epact Numbers | 32 | 28 | 共用(27個), 繼承(1個) | |
U+10300..U+1032F | 古義大利字母 | Old Italic | 48 | 39 | 古義大利字母 | |
U+10330..U+1034F | 哥特字母 | Gothic | 32 | 27 | 哥特字母 | |
U+10350..U+1037F | 古彼爾姆文 | Old Permic | 48 | 43 | 古彼爾姆文 | |
U+10380..U+1039F | 烏加里特字母 | Ugaritic | 32 | 31 | 烏加里特字母 | |
U+103A0..U+103DF | 古波斯楔形文字 | Old Persian | 64 | 50 | 古波斯楔形文字 | |
U+10400..U+1044F | 德瑟雷特字母 | Deseret | 80 | 80 | 德瑟雷特字母 | |
U+10450..U+1047F | 蕭伯納字母 | Shavian | 48 | 48 | 蕭伯納字母 | |
U+10480..U+104AF | 奧斯曼亞字母 | Osmanya | 48 | 40 | 奧斯曼亞字母 | |
U+104B0..U+104FF | 歐塞奇字母 | Osage | 80 | 72 | 歐塞奇字母 | |
U+10500..U+1052F | 愛爾巴桑字母 | Elbasan | 48 | 40 | 愛爾巴桑字母 | |
U+10530..U+1056F | 高加索阿爾巴尼亞文 | Caucasian Albanian | 64 | 53 | 高加索阿爾巴尼亞文 | |
U+10600..U+1077F | 線形文字A | Linear A | 384 | 341 | 線形文字A | |
U+10800..U+1083F | 賽普勒斯音節文字 | Cypriot Syllabary | 64 | 55 | 賽普勒斯音節文字 | |
U+10840..U+1085F | 帝國亞拉姆文字 | Imperial Aramaic | 32 | 31 | 帝國亞拉姆文字 | |
U+10860..U+1087F | 帕爾邁拉字母 | Palmyrene | 32 | 32 | 帕爾邁拉字母 | |
U+10880..U+108AF | 納巴泰字母 | Nabataean | 48 | 40 | 納巴泰字母 | |
U+108E0..U+108FF | 哈特拉文 | Hatran | 32 | 26 | 哈特拉文 | |
U+10900..U+1091F | 腓尼基字母 | Phoenician | 32 | 29 | 腓尼基字母 | |
U+10920..U+1093F | 呂底亞字母 | Lydian | 32 | 27 | 呂底亞字母 | |
U+10980..U+1099F | 麥羅埃文聖書體 | Meroitic Hieroglyphs | 32 | 32 | 麥羅埃文聖書體 | |
U+109A0..U+109FF | 麥羅埃文草書體 | Meroitic Cursive | 96 | 90 | 麥羅埃文草書體 | |
U+10A00..U+10A5F | 佉盧文 | Kharoshthi | 96 | 68 | 佉盧文 | |
U+10A60..U+10A7F | 古南阿拉伯字母 | Old South Arabian | 32 | 32 | 古南阿拉伯字母 | |
U+10A80..U+10A9F | 古北阿拉伯字母 | Old North Arabian | 32 | 32 | 古北阿拉伯字母 | |
U+10AC0..U+10AFF | 摩尼字母 | Manichaean | 64 | 51 | 摩尼字母 | |
U+10B00..U+10B3F | 阿維斯陀字母 | Avestan | 64 | 61 | 阿維斯陀字母 | |
U+10B40..U+10B5F | 碑刻帕提亞文 | Inscriptional Parthian | 32 | 30 | 碑刻帕提亞文 | |
U+10B60..U+10B7F | 碑刻巴列維文 | Inscriptional Pahlavi | 32 | 27 | 碑刻巴列維文 | |
U+10B80..U+10BAF | 詩篇巴列維文 | Psalter Pahlavi | 48 | 29 | 詩篇巴列維文 | |
U+10C00..U+10C4F | 古突厥文 | Old Turkic | 80 | 73 | 古突厥文 | |
U+10C80..U+10CFF | 古匈牙利字母 | Old Hungarian | 128 | 108 | 古匈牙利字母 | |
U+10D00..U+10D3F | 哈乃斐羅興亞文字 | Hanifi Rohingya | 64 | 50 | 哈乃斐羅興亞文字 | |
U+10E60..U+10E7F | 盧米文數字 | Rumi Numeral Symbols | 32 | 31 | 阿拉伯文 | |
U+10E80..U+10EBF | 雅茲迪文 | Yezidi | 64 | 47 | 雅茲迪文 | |
U+10F00..U+10F2F | 古粟特字母 | Old Sogdian | 48 | 40 | 古粟特字母 | |
U+10F30..U+10F6F | 粟特字母 | Sogdian | 64 | 42 | 粟特字母 | |
U+10FB0..U+10FDF | 花剌子模字母 | Chorasmian | 48 | 28 | 花剌子模字母 | |
U+10FE0..U+10FFF | 埃利邁文 | Elymaic | 32 | 23 | 埃利邁文 | |
U+11000..U+1107F | 婆羅米文 | Brahmi | 128 | 109 | 婆羅米文 | |
U+11080..U+110CF | 凱提文 | Kaithi | 80 | 67 | 凱提文 | |
U+110D0..U+110FF | 索拉僧平文字 | Sora Sompeng | 48 | 35 | 索拉僧平文字 | |
U+11100..U+1114F | 查克馬文 | Chakma | 80 | 71 | 查克馬文 | |
U+11150..U+1117F | 馬哈佳尼文 | Mahajani | 48 | 39 | 馬哈佳尼文 | |
U+11180..U+111DF | 夏拉達文 | Sharada | 96 | 96 | 夏拉達文 | |
U+111E0..U+111FF | 古僧伽羅文數字 | Sinhala Archaic Numbers | 32 | 20 | 古僧伽羅文數字 | |
U+11200..U+1124F | 可吉文 | Khojki | 80 | 62 | 可吉文 | |
U+11280..U+112AF | 穆爾塔尼文 | Multani | 48 | 38 | 穆爾塔尼文 | |
U+112B0..U+112FF | 庫達瓦迪文 | Khudawadi | 80 | 69 | 庫達瓦迪文 | |
U+11300..U+1137F | 古蘭塔文 | Grantha | 128 | 86 | 古蘭塔文 | |
U+11400..U+1147F | 紐瓦字母 | Newa | 128 | 97 | 紐瓦字母 | |
U+11480..U+114DF | 底羅僕多文 | Tirhuta | 96 | 82 | 底羅仆多文 | |
U+11580..U+115FF | 悉曇文字 | Siddham | 128 | 92 | 悉曇文字 | |
U+11600..U+1165F | 莫迪文 | Modi | 96 | 79 | 莫迪文 | |
U+11660..U+1167F | 蒙古文補充 | Mongolian Supplement | 32 | 13 | 蒙古文 | |
U+11680..U+116CF | 塔克里字母 | Takri | 80 | 67 | 塔克里字母 | |
U+11700..U+1173F | 阿洪姆文 | Ahom | 64 | 58 | 阿洪姆文 | |
U+11800..U+1184F | 多格拉文 | Dogra | 80 | 60 | 多格拉文 | |
U+118A0..U+118FF | 瓦蘭齊地文 | Warang Citi | 96 | 84 | 瓦蘭齊地文 | |
U+11900..U+1195F | 島嶼字母 | Dhives Akuru (Dives Akuru) | 96 | 72 | 島嶼字母 | |
U+119A0..U+119FF | 南迪城文 | Nandinagari | 96 | 65 | 南迪城文 | |
U+11A00..U+11A4F | 札那巴札爾方形字母 | Zanabazar Square | 80 | 72 | 札那巴札爾方形字母 | |
U+11A50..U+11AAF | 索永布文字 | Soyombo | 96 | 83 | 索永布文字 | |
U+11AC0..U+11AFF | 包欽豪文 | Pau Cin Hau | 64 | 57 | 包欽豪文 | |
U+11C00..U+11C6F | 拜克舒基文 | Bhaiksuki | 112 | 97 | 拜克舒基文 | |
U+11C70..U+11CBF | 瑪欽文 | Marchen | 80 | 68 | 瑪欽文 | |
U+11D00..U+11D5F | 馬薩拉姆貢德文字 | Masaram Gondi | 96 | 75 | 馬薩拉姆貢德文字 | |
U+11D60..U+11DAF | 貢賈拉貢德文字 | Gunjala Gondi | 80 | 63 | 貢賈拉貢德文字 | |
U+11EE0..U+11EFF | 望加錫文 | Makasar | 望加錫文 | |||
U+11FB0..U+11FBF | 老傈僳文補充 | Lisu Supplement | 16 | 1 | 老傈僳文 | |
U+11FC0..U+11FFF | 泰米爾文補充 | Tamil Supplement | 64 | 51 | 泰米爾文 | |
U+12000..U+123FF | 楔形文字 | Cuneiform | 1024 | 922 | 楔形文字 | |
U+12400..U+1247F | 楔形文字數字和標點符號 | Cuneiform Numbers and Punctuation | 128 | 116 | 楔形文字 | |
U+12480..U+1254F | 早期王朝楔形文字 | Early Dynastic Cuneiform | 208 | 196 | 楔形文字 | |
U+13000..U+1342F | 埃及聖書體 | Egyptian Hieroglyphs | 1072 | 1071 | 埃及聖書體 | |
U+13430..U+1343F | 埃及聖書體格式控制 | Egyptian Hieroglyph Format Controls | 16 | 9 | 埃及聖書體 | |
U+14400..U+1467F | 安納托利亞象形文字 | Anatolian Hieroglyphs | 640 | 583 | 安納托利亞象形文字 | |
U+16800..U+16A3F | 巴姆穆文字補充 | Bamum Supplement | 576 | 569 | 巴姆穆文字 | |
U+16A40..U+16A6F | 默祿文 | Mro | 48 | 43 | 默祿文 | |
U+16AD0..U+16AFF | 巴薩文 | Bassa Vah | 48 | 36 | 巴薩文 | |
U+16B00..U+16B8F | 救世苗文 | Pahawh Hmong | 144 | 127 | 救世苗文 | |
U+16E40..U+16E9F | 梅德法伊德林文 | Medefaidrin | 96 | 91 | 梅德法伊德林文 | |
U+16F00..U+16F9F | 柏格理苗文 | Miao | 160 | 149 | 柏格理苗文 | |
U+16FE0..U+16FFF | 表意符號和標點符號 | Ideographic Symbols and Punctuation | 32 | 7 | 漢字(2個)、契丹小字(1個)、女書(1個)、西夏文(1個), 通用(2個) | |
U+17000..U+187FF | 西夏文 | Tangut | 6144 | 6136 | 西夏文 | |
U+18800..U+18AFF | 西夏文部件 | Tangut Components | 768 | 755 | 西夏文 | |
U+18B00..U+18CFF | 契丹小字 | Khitan Small Script | 512 | 470 | 契丹小字 | |
U+18D00..U+18D8F | 西夏文補充 | Tangut Supplement | 144 | 9 | Tangut | |
U+1B000..U+1B0FF | 日文假名補充 | Kana Supplement | 256 | 256 | 平假名(255個), 片假名(1個) | |
U+1B100..U+1B12F | 日文假名擴展-A | Kana Extended-A | 48 | 31 | 平假名 | |
U+1B130..U+1B16F | 小型日文假名擴展 | Small Kana Extension | 64 | 7 | 平假名 (3個), 片假名 (4個) | |
U+1B170..U+1B2FF | 女書 | Nushu | 400 | 396 | 女書 | |
U+1BC00..U+1BC9F | 杜普雷速記 | Duployan | 160 | 143 | 杜普雷速記 | |
U+1BCA0..U+1BCAF | 速記格式控制符 | Shorthand Format Controls | 16 | 4 | 共用 | |
U+1D000..U+1D0FF | 拜占庭音樂符號 | Byzantine Musical Symbols | 256 | 246 | 共用 | |
U+1D100..U+1D1FF | 音樂符號 | Musical Symbols | 256 | 231 | 共用(209個), 繼承(22個) | |
U+1D200..U+1D24F | 古希臘音樂記號 | Ancient Greek Musical Notation | 80 | 70 | 希臘語 | |
U+1D2E0..U+1D2FF | 瑪雅數字 | Mayan Numerals | 32 | 20 | 共用 | |
U+1D300..U+1D35F | 太玄經符號 | Tai Xuan Jing Symbols | 96 | 87 | 共用 | |
U+1D360..U+1D37F | 算籌 | Counting Rod Numerals | 32 | 25 | 共用 | |
U+1D400..U+1D7FF | 字母和數字符號 | Mathematical Alphanumeric Symbols | 1024 | 996 | 共用 | |
U+1D800..U+1DAAF | 薩頓書寫符號 | Sutton SignWriting | 688 | 672 | 薩頓書寫符號 | |
U+1E000..U+1E02F | 格拉哥里字母補充 | Glagolitic Supplement | 48 | 38 | 格拉哥里字母 | |
U+1E100..U+1E14F | 創世紀苗文 | Nyiakeng Puachue Hmong | 80 | 71 | 創世紀苗文 | |
U+1E2C0..U+1E2FF | 文喬字母 | Wancho | 64 | 59 | 文喬字母 | |
U+1E800..U+1E8DF | 門德基卡庫文 | Mende Kikakui | 224 | 213 | 門德基卡庫文 | |
U+1E900..U+1E95F | 阿德拉姆字母 | Adlam | 96 | 87 | 阿德拉姆字母 | |
U+1EC70..U+1ECBF | 印度西亞格數字 | Indic Siyaq Numbers | 80 | 68 | 共用 | |
U+1ED00..U+1ED4F | 奧斯曼西亞格數字 | Ottoman Siyaq Numbers | 80 | 61 | 共用 | |
U+1EE00..U+1EEFF | 阿拉伯字母數字符號 | Arabic Mathematical Alphabetic Symbols | 256 | 143 | 阿拉伯文 | |
U+1F000..U+1F02F | 麻將牌 | Mahjong Tiles | 48 | 44 | 共用 | |
U+1F030..U+1F09F | 多米諾骨牌 | Domino Tiles | 112 | 100 | 共用 | |
U+1F0A0..U+1F0FF | 撲克牌 | Playing Cards | 96 | 82 | 共用 | |
U+1F100..U+1F1FF | 帶圈字母數字補充 | Enclosed Alphanumeric Supplement | 256 | 200 | 共用 | |
U+1F200..U+1F2FF | 帶圈表意文字補充 | Enclosed Ideographic Supplement | 256 | 64 | 平假名(1 個), 共用(63個) | |
U+1F300..U+1F5FF | 雜項符號和象形文字 | Miscellaneous Symbols and Pictographs | 768 | 768 | 共用 | |
U+1F600..U+1F64F | 表情符號 | Emoticons | 80 | 80 | 共用 | |
U+1F650..U+1F67F | 裝飾符號 | Ornamental Dingbats | 48 | 48 | 共用 | |
U+1F680..U+1F6FF | 交通和地圖符號 | Transport and Map Symbols | 128 | 114 | 共用 | |
U+1F700..U+1F77F | 鍊金術符號 | Alchemical Symbols | 128 | 116 | 共用 | |
U+1F780..U+1F7FF | 幾何圖形擴展 | Geometric Shapes Extended | 128 | 101 | 共用 | |
U+1F800..U+1F8FF | 追加箭頭-C | Supplemental Arrows-C | 256 | 150 | 共用 | |
U+1F900..U+1F9FF | 補充符號和象形文字 | Supplemental Symbols and Pictographs | 256 | 254 | 共用 | |
U+1FA00..U+1FA6F | 棋類符號 | Chess Symbols | 112 | 98 | 共用 | |
U+1FA70..U+1FAFF | 符號和象形文字擴展-A | Symbols and Pictographs Extended-A | 144 | 57 | 共用 | |
U+1FB00..U+1FBFF | 遺留計算符號 | Symbols for Legacy Computing | 256 | 212 | 共用 | |
2 SIP | U+20000..U+2A6DF | 中日韓統一表意文字擴展區B | CJK Unified Ideographs Extension B | 42720 | 42718 | 漢字 |
U+2A700..U+2B73F | 中日韓統一表意文字擴展區C | CJK Unified Ideographs Extension C | 4160 | 4149 | 漢字 | |
U+2B740..U+2B81F | 中日韓統一表意文字擴展區D | CJK Unified Ideographs Extension D | 224 | 222 | 漢字 | |
U+2B820..U+2CEAF | 中日韓統一表意文字擴展區E | CJK Unified Ideographs Extension E | 5776 | 5762 | 漢字 | |
U+2CEB0..U+2EBEF | 中日韓統一表意文字擴展區F | CJK Unified Ideographs Extension F | 7488 | 7473 | 漢字 | |
U+2F800..U+2FA1F | 中日韓相容表意文字補充區 | CJK Compatibility Ideographs Supplement | 544 | 542 | 漢字 | |
3 SIP | U+30000..U+3134F | 中日韓統一表意文字擴展區G | CJK Unified Ideographs Extension G | 4944 | 4939 | 漢字 |
14 SSP | U+E0000..U+E007F | 標籤 | Tags | 128 | 97 | 共用 |
U+E0100..U+E01EF | 變體選擇符補充 | Variation Selectors Supplement | 240 | 240 | 繼承 | |
15 PUA-A | U+F0000..U+FFFFF | 補充私人使用區-A | Supplementary Private Use Area-A | 65536 | 65534 | 未知 |
16 PUA-B | U+100000..U+10FFFF | 補充私人使用區-B | Supplementary Private Use Area-B | 65536 | 65534 | 未知 |
a. ^ 代碼點包括未分配的代碼點(非字符或保留代碼點)。 *資料來源:https://zh.wikipedia.org/wiki/Unicode%E5%8D%80%E6%AE%B5 |
Reference
- 比較詳細 Python 正則表達式操作指南 (re使用) | 煎炸熊の記事本
- re — Regular expression operations
- CJK Symbols and Punctuation: U3000
- ASCII Code – The extended ASCII table
- Unicode block | WIKIPEDIA
- Unicode區段 | WIKIPEDIA
- CJK Unified Ideographs | WIKIPEDIA
- 中日韓統一表意文字 | WIKIPEDIA
Copyright announcement:
Photo by Amador Loureiro on Unsplash