特殊字符 U+200X/
生活随笔
收集整理的這篇文章主要介紹了
特殊字符 U+200X/
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 多語種Unicode 字符
- 使用字符
- Python 代碼中 編解碼
- 正則去除 emoji
- 使用 emoji 包
- Unicode 分布
處理大量多語文本,可以看到很多特殊字符,這里陸續將遇到的字符在這里做個總結。
查詢過程中發現個很好的網站,包含了很多 Unicode 字符的說明,感興趣可以進入了解下:
Unicode 字符百科
https://unicode-table.com/cn/
格式字符
| U+200B | Zero Width Space 零寬間隔 | ​ | \200B |
| U+200C | Zero Width Non-Joiner 零寬無連接符 | ‌ | \200C |
| U+200D | Zero Width Joine 零寬連接符 | ‍ | \200D |
| U+200E | Left-To-Right Mark 從左至右標志 | ‎ | \200E |
| U+200F | Right-To-Left Mark 從右至左標志 | ‏ | \200F |
在部分語種,如希伯來語中常見這類字符。
比如一句希伯來語中既包含希伯來語,又包含英語,就會出現字符來告知閱讀順序。
這類字符建議不要去掉。
多語種Unicode 字符
https://unicode-table.com/cn/alphabets/
使用字符
以此 emoji 字符為例:https://unicode-table.com/cn/1F634/
他的HTML 代碼為: 😴。markdown 的解析器一般都會自動解析 html,在下方輸入這個代碼,就會出現:
😴
Python 代碼中 編解碼
在python3中,字符串有兩種形式:str和bytes,兩者區別如下:
- unicode string(str類型):以Unicode code points 形式存儲(人認識的形式)
python3中所定義的所有字符串都是 unicode string類型,使用 type 和 isinstance 可以判別 - byte string(bytes類型):以byte形式存儲(機器認識的形式)
創建一個txt 文件,復制一個 emoji 表情進去
file_path = '/Users/xx/Desktop/a.txt'a = open(file_path).read() print(type(a), a) # <class 'str'> 😴# 編碼 encode:字符串 --> 字節 b = a.encode('utf-8') print(type(b), b) # <class 'bytes'> b'\xf0\x9f\x98\xb4'c = '😴' # <class 'str'> 😴 # unicode 編碼 g = c.encode('unicode_escape') # b'\\U0001f634'h = g.decode('unicode_escape') # <class 'str'> 😴 i = g.decode('utf-8') # <class 'str'> \U0001f634d = b'\xf0\x9f\x98\xb4' # <class 'bytes'> b'\xf0\x9f\x98\xb4'# 編碼decode:字節 --> 字符串 e = d.decode('utf-8') # <class 'str'> 😴 f = str(d,encoding='utf-8')
正則去除 emoji
https://unicode-table.com/cn/emoji/
import re myre = re.compile(u'['u'\U0001F300-\U0001F64F'u'\U0001F680-\U0001F6FF'u'\u2600-\u26FF\u2700-\u27BF]+', re.UNICODE)text1 = '😴 haha 😅' text2 = 'Some example text with a sleepy face: \U0001f62a'print(myre.sub('', text1)) # haha print(myre.sub('', text2)) # Some example text with a sleepy face:
使用 emoji 包
https://pypi.org/project/emoji/
import emojidef remove_emoji(text):return emoji.get_emoji_regexp().sub(u'', text)
Unicode 分布
- 0000—007F 基本拉丁字母
- 0080—00FF 拉丁文補充1
- 0100—017F 拉丁文擴展A
- 0180—024F 拉丁文擴展B
- 0250—02AF 國際音標擴展
- 02B0—02FF 占位修飾符號
- 0300—036F 結合附加符號
- 0370—03FF 希臘字母及科普特字母
- 0400—04FF 西里爾字母
- 0500—052F 西里爾字母補充
- 0530—058F 亞美尼亞字母
- 0590—05FF 希伯來文
- 0600—06FF 阿拉伯文
- 0700—074F 敘利亞文
- 0750—077F 阿拉伯文補充
- 0780—07BF 它拿字母
- 07C0—07FF 西非書面語言
- 0800—083F 撒瑪利亞字母
- 0840—085F Mandaic
- 0860—086F Syriac Supplement
- 08A0—08FF 阿拉伯語擴展
- 0900—097F 天城文
- 0980—09FF 孟加拉文
- 0A00—0A7F 果魯穆奇字母
- 0A80—0AFF 古吉拉特文
- 0B00—0B7F 奧里亞文
- 0B80—0BFF 泰米爾文
- 0C00—0C7F 泰盧固文
- 0C80—0CFF 卡納達文
- 0D00—0D7F 馬拉雅拉姆文
- 0D80—0DFF 僧伽羅文
- 0E00—0E7F 泰文
- 0E80—0EFF 老撾文
- 0F00—0FFF 藏文
- 1000—109F 緬甸文
- 10A0—10FF 格魯吉亞字母
- 1100—11FF 諺文字母
- 1200—137F 埃塞俄比亞語
- 1380—139F 埃塞俄比亞語補充
- 13A0—13FF 切羅基字母
- 1400—167F 統一加拿大原住民音節文字
- 1680—169F 歐甘字母
- 16A0—16FF 盧恩字母
- 1700—171F 他加祿字母
- 1720—173F 哈努諾文
- 1740—175F 布迪文
- 1760—177F 塔格巴努亞文
- 1780—17FF 高棉文
- 1800—18AF 蒙古文
- 18B0—18FF 統一加拿大原住民音節文字擴展
- 1900—194F 林布文
- 1950—197F 德宏傣文
- 1980—19DF 新傣仂文
- 19E0—19FF 高棉文符號
- 1A00—1A1F 布吉文
- 1A20—1AAF 老傣文
- 1AB0—1AFF Combining Diacritical Marks Extended
- 1B00—1B7F 巴厘字母
- 1B80—1BBF 巽他字母
- 1BC0—1BFF 巴塔克文
- 1C00—1C4F 雷布查字母
- 1C50—1C7F Ol-Chiki
- 1C80—1C8F Cyrillic Extended C
- 1C90—1CBF Georgian Extended
- 1CC0—1CCF 巽他字母補充
- 1CD0—1CFF 吠陀梵文
- 1D00—1D7F 語音學擴展
- 1D80—1DBF 語音學擴展補充
- 1DC0—1DFF 結合附加符號補充
- 1E00—1EFF 拉丁文擴展附加
- 1F00—1FFF 希臘語擴展
- 2000—206F 常用標點
- 2070—209F 上標及下標
- 20A0—20CF 貨幣符號
- 20D0—20FF 組合用記號
- 2100—214F 字母式符號
- 2150—218F 數字形式
- 2190—21FF 箭頭
- 2200—22FF 數學運算符
- 2300—23FF 雜項工業符號
- 2400—243F 控制圖片
- 2440—245F 光學識別符
- 2460—24FF 帶圈或括號的字母數字
- 2500—257F 制表符
- 2580—259F 方塊元素
- 25A0—25FF 幾何圖形
- 2600—26FF 雜項符號
- 2700—27BF 印刷符號
- 27C0—27EF 雜項數學符號A
- 27F0—27FF 追加箭頭A
- 2800—28FF 盲文點字模型
- 2900—297F 追加箭頭B
- 2980—29FF 雜項數學符號B
- 2A00—2AFF 追加數學運算符
- 2B00—2BFF 雜項符號和箭頭
- 2C00—2C5F 格拉哥里字母
- 2C60—2C7F 拉丁文擴展C
- 2C80—2CFF 科普特字母
- 2D00—2D2F 格魯吉亞字母補充
- 2D30—2D7F 提非納文
- 2D80—2DDF 埃塞俄比亞語擴展
- 2DE0—2DFF 西里爾字母擴展
- 2E00—2E7F 追加標點
- 2E80—2EFF 中日韓部首補充
- 2F00—2FDF 康熙部首
- 2FF0—2FFF 表意文字描述符
- 3000—303F 中日韓符號和標點
- 3040—309F 日文平假名
- 30A0—30FF 日文片假名
- 3100—312F 注音字母
- 3130—318F 諺文兼容字母
- 3190—319F 象形字注釋標志
- 31A0—31BF 注音字母擴展
- 31C0—31EF 中日韓筆畫
- 31F0—31FF 日文片假名語音擴展
- 3200—32FF 帶圈中日韓字母和月份
- 3300—33FF 中日韓字符集兼容
- 3400—4DBF 中日韓統一表意文字擴展A
- 4DC0—4DFF 易經六十四卦符號
- 4E00—9FFF 中日韓統一表意文字
- A000—A48F 彝文音節
- A490—A4CF 彝文字根
- A4D0—A4FF Lisu
- A500—A63F 老傈僳文
- A640—A69F 西里爾字母擴展B
- A6A0—A6FF 巴姆穆語
- A700—A71F 聲調修飾字母
- A720—A7FF 拉丁文擴展D
- A800—A82F 錫爾赫特文
- A830—A83F 印第安數字
- A840—A87F 八思巴文
- A880—A8DF 索拉什特拉
- A8E0—A8FF 天城文擴展
- A900—A92F 克耶字母
- A930—A95F 勒姜語
- A960—A97F 諺文字母擴展A
- A980—A9DF 爪哇語
- A9E0—A9FF Myanmar Extended-B
- AA00—AA5F 韃靼文
- AA60—AA7F 緬甸語擴展
- AA80—AADF 越南傣文
- AAE0—AAFF 曼尼普爾文擴展
- AB00—AB2F 埃塞俄比亞文
- AB30—AB6F Latin Extended-E
- AB70—ABBF Cherokee Supplement
- ABC0—ABFF 曼尼普爾文
- AC00—D7AF 諺文音節
- D7B0—D7FF Hangul Jamo Extended-B
- D800—DB7F 代理對高位字
- DB80—DBFF 代理對私用區高位字
- DC00—DFFF 代理對低位字
- E000—F8FF 私用區
- F900—FAFF 中日韓兼容表意文字
- FB00—FB4F 字母表達形式(拉丁字母連字、亞美尼亞字母連字、希伯來文表現形式)
- FB50—FDFF 阿拉伯文表達形式A
- FE00—FE0F 異體字選擇符
- FE10—FE1F 豎排形式
- FE20—FE2F 組合用半符號
- FE30—FE4F 中日韓兼容形式
- FE50—FE6F 小寫變體形式
- FE70—FEFF 阿拉伯文表達形式B
- FF00—FFEF 半角及全角形式
- FFF0—FFFF 特殊
- 10000—1007F Linear B Syllabary
- 10080—100FF Linear B Ideograms
- 10100—1013F Aegean Numbers
- 10140—1018F Ancient Greek Numbers
- 10190—101CF Ancient Symbols
- 101D0—101FF Phaistos Disc
- 10280—1029F Lycian
- 102A0—102DF Carian
- 102E0—102FF Coptic Epact Numbers
- 10300—1032F Old Italic
- 10330—1034F Gothic
- 10350—1037F Old Permic
- 10380—1039F Ugaritic
- 103A0—103DF Old Persian
- 10400—1044F Deseret
- 10450—1047F Shavian
- 10480—104AF Osmanya
- 104B0—104FF Osage
- 10500—1052F Elbasan
- 10530—1056F Caucasian Albanian
- 10600—1077F Linear A
- 10800—1083F Cypriot Syllabary
- 10840—1085F Imperial Aramaic
- 10860—1087F Palmyrene
- 10880—108AF Nabataean
- 108E0—108FF Hatran
- 10900—1091F Phoenician
- 10920—1093F Lydian
- 10980—1099F Meroitic Hieroglyphs
- 109A0—109FF Meroitic Cursive
- 10A00—10A5F Kharoshthi
- 10A60—10A7F Old South Arabian
- 10A80—10A9F Old North Arabian
- 10AC0—10AFF Manichaean
- 10B00—10B3F Avestan
- 10B40—10B5F Inscriptional Parthian
- 10B60—10B7F Inscriptional Pahlavi
- 10B80—10BAF Psalter Pahlavi
- 10C00—10C4F Old Turkic
- 10C80—10CFF Old Hungarian
- 10D00—10D3F Hanifi Rohingya
- 10E60—10E7F Rumi Numeral Symbols
- 10E80—10EBF Yezidi
- 10F00—10F2F Old Sogdian
- 10F30—10F6F Sogdian
- 10FB0—10FDF Chorasmian
- 10FE0—10FFF Elymaic
- 11000—1107F Brahmi
- 11080—110CF Kaithi
- 110D0—110FF Sora Sompeng
- 11100—1114F Chakma
- 11150—1117F Mahajani
- 11180—111DF Sharada
- 111E0—111FF Sinhala Archaic Numbers
- 11200—1124F Khojki
- 11280—112AF Multani
- 112B0—112FF Khudawadi
- 11300—1137F Grantha
- 11400—1147F Newa
- 11480—114DF Tirhuta
- 11580—115FF Siddham
- 11600—1165F Modi
- 11660—1167F Mongolian Supplement
- 11680—116CF Takri
- 11700—1173F Ahom
- 11800—1184F Dogra
- 118A0—118FF Warang Citi
- 11900—1195F Dives Akuru
- 119A0—119FF Nandinagari
- 11A00—11A4F Zanabazar Square
- 11A50—11AAF Soyombo
- 11AC0—11AFF Pau Cin Hau
- 11C00—11C6F Bhaiksuki
- 11C70—11CBF Marchen
- 11D00—11D5F Masaram Gondi
- 11D60—11DAF Gunjala Gondi
- 11EE0—11EFF Makasar
- 11FB0—11FBF Lisu Supplement
- 11FC0—11FFF Tamil Supplement
- 12000—123FF Cuneiform
- 12400—1247F Cuneiform Numbers and Punctuation
- 12480—1254F Early Dynastic Cuneiform
- 13000—1342F Egyptian Hieroglyphs
- 13430—1343F Egyptian Hieroglyph Format Controls
- 14400—1467F Anatolian Hieroglyphs
- 16800—16A3F Bamum Supplement
- 16A40—16A6F Mro
- 16AD0—16AFF Bassa Vah
- 16B00—16B8F Pahawh Hmong
- 16E40—16E9F Medefaidrin
- 16F00—16F9F Miao
- 16FE0—16FFF Ideographic Symbols and Punctuation
- 17000—187FF Tangut
- 18800—18AFF Tangut Components
- 18B00—18CFF Khitan Small Script
- 18D00—18D8F Tangut Supplement
- 1B000—1B0FF Kana Supplement
- 1B100—1B12F Kana Extended-A
- 1B130—1B16F Small Kana Extension
- 1B170—1B2FF Nushu
- 1BC00—1BC9F Duployan
- 1BCA0—1BCAF Shorthand Format Controls
- 1D000—1D0FF Byzantine Musical Symbols
- 1D100—1D1FF Musical Symbols
- 1D200—1D24F Ancient Greek Musical Notation
- 1D2E0—1D2FF Mayan Numerals
- 1D300—1D35F Tai Xuan Jing Symbols
- 1D360—1D37F Counting Rod Numerals
- 1D400—1D7FF Mathematical Alphanumeric Symbols
- 1D800—1DAAF Sutton SignWriting
- 1E000—1E02F Glagolitic Supplement
- 1E100—1E14F Nyiakeng Puachue Hmong
- 1E2C0—1E2FF Wancho
- 1E800—1E8DF Mende Kikakui
- 1E900—1E95F Adlam
- 1EC70—1ECBF Indic Siyaq Numbers
- 1ED00—1ED4F Ottoman Siyaq Numbers
- 1EE00—1EEFF Arabic Mathematical Alphabetic Symbols
- 1F000—1F02F Mahjong Tiles
- 1F030—1F09F Domino Tiles
- 1F0A0—1F0FF Playing Cards
- 1F100—1F1FF Enclosed Alphanumeric Supplement
- 1F200—1F2FF Enclosed Ideographic Supplement
- 1F300—1F5FF Miscellaneous Symbols and Pictographs
- 1F600—1F64F Emoticons (Emoji)
- 1F650—1F67F Ornamental Dingbats
- 1F680—1F6FF Transport and Map Symbols
- 1F700—1F77F Alchemical Symbols
- 1F780—1F7FF Geometric Shapes Extended
- 1F800—1F8FF Supplemental Arrows-C
- 1F900—1F9FF Supplemental Symbols and Pictographs
- 1FA00—1FA6F Chess Symbols
- 1FA70—1FAFF Symbols and Pictographs Extended-A
- 1FB00—1FBFF Symbols for Legacy Computing
- 20000—2A6DF CJK Unified Ideographs Extension B
- 2A700—2B73F CJK Unified Ideographs Extension C
- 2B740—2B81F CJK Unified Ideographs Extension D
- 2B820—2CEAF CJK Unified Ideographs Extension E
- 2CEB0—2EBEF CJK Unified Ideographs Extension F
- 2F800—2FA1F CJK Compatibility Ideographs Supplement
- 30000—3134F CJK Unified Ideographs Extension G
- E0000—E007F Tags
- E0100—E01EF Variation Selectors Supplement
- F0000—FFFFF Supplementary Private Use Area-A
- 100000—10FFFF Supplementary Private Use Area-B
總結
以上是生活随笔為你收集整理的特殊字符 U+200X/的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python飞机大战源码以及素材资源
- 下一篇: 第二十一章流 5 多种打开文件的方式 文