Unicode 编码 Emoji CJK 中文 汉字 过滤正则

Unicode

  • 平面0 (0000–FFFF): 基本多文种平面(Basic Multilingual Plane, BMP)
  • 平面1 (10000–1FFFF): 多文种补充平面(Supplementary Multilingual Plane, SMP)
  • 平面2 (20000–2FFFF): 表意文字补充平面(Supplementary Ideographic Plane, SIP)
  • 平面3 (30000–3FFFF): 表意文字第三平面(Tertiary Ideographic Plane, TIP)
  • 平面4 to 13 (40000–DFFFF)尚未使用
  • 平面14 (E0000–EFFFF): 特别用途补充平面(Supplementary Special-purpose Plane, SSP)
  • 平面15 (F0000–FFFFF)保留作为私人使用区(Private Use Area, PUA)
  • 平面16 (100000–10FFFF),保留作为私人使用区(Private Use Area, PUA)

Unicode 13.0 Character Code Charts
Unicode区段

CJK

一、全部范围

范围 说明
2E80-A4CF CJK部首补充、康熙部首、表意文字描述符、CJK符号和标点、日文平假名、日文片假名、注音字母、谚文兼容字母、象形字注释标志、注音字母扩展、CJK笔画、日文片假名语音扩展、带圈CJK字母和月份、CJK兼容、CJK统一表意文字扩展A、易经六十四卦符号、CJK统一表意文字、彝文音节、彝文字根
F900-FAFF CJK兼容表意文字
FE10-FE1F 竖排符号
FE30-FE4F CJK兼容符号(竖排符号)
FF00-FFEF 全角ASCII、全角中英文标点、半宽片假名、半宽平假名、半宽韩文字母
20000-2A6DF CJK统一表意文字扩展B
2A700-2EBE0 CJK统一表意文字扩展C-F
2F800-2FA1F CJK兼容表意文字扩展
30000~3134A CJK统一表意文字扩展G

二、标点符号

字符集 定义范围 说明
CJK Symbols and Punctuation 3000-303F CJK标点符号
Vertical Forms FE10-FE1F 竖排符号
CJK Compatibility Forms FE30-FE4F CJK兼容符号(竖排符号)
Halfwidth and Fullwidth Forms FF00~FFEF 全角ASCII、全角中英文标点、半宽片假名、半宽平假名、半宽韩文字母

三、汉字

范围 说明
2E80-2FFF CJK部首补充、康熙部首、表意文字结构
3007 〇 (在CJK符号和标点区间内)
3100-312F 注音字母
31A0-31EF 注音字母扩展、CJK笔画
3400-4DBF CJK统一表意文字扩展A
4E00-9FFF CJK统一表意文字
F900-FAFF CJK兼容表意文字
20000-2A6DF CJK统一表意文字扩展B
2A700-2EBE0 CJK统一表意文字扩展C-F
2F800-2FA1F CJK兼容表意文字扩展
30000-3134A CJK统一表意文字扩展G
字符集 定义范围 实际范围v13
基本汉字 4E00-9FFF 4E00-9FFC
扩展A 3400-4DBF 3400-4DBF
扩展B 20000-2A6DF 20000-2A6DD
扩展C 2A700-2B73F 2A700-2B734
扩展D 2B740-2B81F 2B740-2B81D
扩展E 2B820-2CEAF 2B820-2CEA1
扩展F 2CEB0-2EBE0 2CEB0-2EBE0
扩展G 30000-3134A 30000-3134A
兼容汉字 F900-FAFF F900-FAD9
兼容扩展 2F800-2FA1F 2F800-2FA1D
部首扩展 2E80-2EFF 2E80-2EF3
康熙部首 2F00-2FDF 2F00-2FD5
汉字结构 2FF0-2FFF 2FF0-2FFB
汉语注音 3100-312F 3105-312F
注音扩展 31A0-31BF 31A0-31BA
汉字笔画 31C0-31EF 31C0-31E3
自定义扩展 E000-F8FF E000-F8FF
3007 3007

过滤正则

定义范围是Unicode指定的字符区间,实际范围是当前版本真正使用的区间,没使用的区间在后续版本更新会被使用,所以过滤规则已定义范围为准。
虽然在符号区但属于汉字。
易经六十四卦符号不属于汉字。

包含兼容和扩展字符

过滤内容 正则
CJK 汉字和符号 [\u2E80-\uA4CF\uF900-\uFAFF\uFE10-\uFE1F\uFE30-\uFE4F\uFF00-\uFFEF]
CJK 标点符号 [\u3000-\u3006\u3008-\u303F\uFE10-\uFE1F\uFE30-\uFE4F\uFF00-\uFFEF]
中文汉字和符号 [\u2E80-\u2FFF\u3000-\u303F\u3100-\u312F\u31A0-\u31EF\u3400-\u4DBF\u4E00-\u9FFF\uF900-\uFAFF\uFE10-\uFE1F\uFE30-\uFE4F\uFF00-\uFFEF]
仅中文汉字 [\u3007\u2E80-\u2FFF\u3100-\u312F\u31A0-\u31EF\u3400-\u4DBF\u4E00-\u9FFF\uF900-\uFAFF]

常用其它过滤判断

CJK 常用汉字和符号(无全角内容)  
[\u2E80-\uA4CF\uF900-\uFAFF\uFE10-\uFE1F\uFE30-\uFE4F]  

CJK 汉字和符号(无竖排符号)  
[\u2E80-\uA4CF\uF900-\uFAFF\uFF00-\uFFEF]  

CJK 汉字和符号(无竖排符号和全角)  
[\u2E80-\uA4CF\uF900-\uFAFF]  

CJK 汉字(无符号和全角)  
[\u3007\u2E80-\u2FFF\u3040-\uA4CF\uF900-\uFAFF]  

中文汉字和符号(无全角内容)  
[\u2E80-\u2FFF\u3000-\u303F\u3100-\u312F\u31A0-\u31EF\u3400-\u4DBF\u4E00-\u9FFF\uF900-\uFAFF\uFE10-\uFE1F\uFE30-\uFE4F]

不含兼容和扩展字符

过滤内容 正则
CJK 标点符号 [\u3000-\u3006\u3008-\u303F\uFF00-\uFFEF]
中文汉字和符号 [\u3000-\u303F\u4E00-\u9FFF\uFF00-\uFFEF]
仅中文汉字 [\u3007\u4E00-\u9FFF]

大于4字不同语言符处理方式不同,可根据需要决定是否添加

#| 20000-2A6DF | CJK统一表意文字扩展B |
#| 2A700-2EBE0 | CJK统一表意文字扩展C-F |
#| 2F800-2FA1F | CJK兼容表意文字扩展 |
#| 30000~3134A | CJK统一表意文字扩展G |

#OC
[\U00020000-\U0002A6DF\U000A700-\U0002EBE0\U0002F800-\U0002FA1F\U00030000-\U0003134A]

#Java
[\x{20000}-\x{2A6DF}\x{2A700}-\x{2EBE0}\x{2F800}-\x{2FA1F}\x{30000}-\x{3134A}]

#JavaScript
[\u{20000}-\u{2A6DF}\u{2A700}-\u{2EBE0}\u{2F800}-\u{2FA1F}\u{30000}-\u{3134A}]

emoji

参考emoji-regex的正则分为3种标准 RGI标准旧标准旧标准+文字类型
但是这里 文字类型(无彩色Icon) 的emoji 把 #*0-9 也算在内并不正确。
修改后最终的规则可以参考这里emoji_regex.dart

Full Emoji List
emoji history index
emoji-test.txt

有趣的编码

编码 说明
\u00A0 不间断空格NDSP
\u0020 半角空格SP
\u3000 全角空格IDSP
\u200F 右至左符号
\uFE0E 文本变体选择器
\uFE0F emoji变体选择器

上標和下標數字
上標和下標字母

参考

中文字符集Unicode 编码范围 - 千千秀字
中文在unicode中的编码范围
Unicode 编码范围和中文编码范围
Regular Expressions Unicode

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 226,074评论 6 523
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 97,181评论 3 410
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 173,579评论 0 370
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 61,741评论 1 304
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 70,675评论 6 404
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 54,144评论 1 316
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 42,344评论 3 433
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 41,429评论 0 282
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 47,984评论 1 328
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 39,960评论 3 351
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 42,057评论 1 359
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 37,658评论 5 352
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 43,349评论 3 342
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 33,757评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 34,943评论 1 278
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 50,670评论 3 384
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 47,116评论 2 368

推荐阅读更多精彩内容

  • 什么是Unicode字符集?简单地说,它就是把全世界人类发明和使用的现有的所有字符进行了集中收集和逐一编码,这个过...
    CoderShangfeng阅读 3,962评论 3 3
  • 考虑到字符编码问题是一个有趣, 在开发中经常会遇到并且稍微有点麻烦和棘手的问题, 但是在网络上却很难找到将这个说的...
    Justin13阅读 423评论 0 0
  • 内容摘自https://zhuanlan.zhihu.com/p/27012715 前言 一、 字符编码是计算机世...
    古剑诛仙阅读 1,580评论 0 0
  • 写在前面 在开发中我们经常会遇到限制字符串长度问题,如果用的是 NSString 很自然使用字符串属性 leng...
    mtry阅读 490评论 0 0
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,562评论 28 53