关闭

Unicode 编码相关

标签: unicode编码中文
265人阅读 评论(0) 收藏 举报
分类:

相关链接

  1. Unicode编码范围表
    数字unicode码
    各个国家 不同字符集的unicode 编码范围

  2. 中文
    汉字UNICODE编码范围
    中文在unicode中的编码范围
    Unicode中文和特殊字符的编码范围

汉字 Unicode 编码范围

字符集 字数 Unicode 编码
基本汉字 20902字 4E00-9FA5
基本汉字补充 38字 9FA6-9FCB
扩展A 6582字 3400-4DB5
扩展B 42711字 20000-2A6D6
扩展C 4149字 2A700-2B734
扩展D 222字 2B740-2B81D
康熙部首 214字 2F00-2FD5
部首扩展 115字 2E80-2EF3
兼容汉字 477字 F900-FAD9
兼容扩展 542字 2F800-2FA1D
PUA(GBK)部件 81字 E815-E86F
部件扩展 452字 E400-E5E8
PUA增补 207字 E600-E6CF
汉字笔画 36字 31C0-31E3
汉字结构 12字 2FF0-2FFB
汉语注音 22字 3105-3120
注音扩展 22字 31A0-31BA

正则

Unicode CJK 的范围分布在多个区段中。最常用的范围是 U+4E00~U+9FA5,即名
为:CJK Unified Ideographs 的区块,但 U+9FA6~U+9FFF 之间的字符还属于空码,
暂时还未定义,但不能保证以后不会被定义。

下面这个是 Unicode 中 U+4E00~U+9FFF 的码表:
http://www.unicode.org/charts/PDF/U4E00.pdf

在这里可以根据 Unicode 码查到所有的字符:
http://www.unicode.org/cgi-bin/GetUnihanData.pl

另:在正则表达式中使用 [\u4e00-\u9fa5] 这种方式属于写死的代码,并不能根据
平台所提供的字符集范围不同而改变,不过对于要求不是很高的话的是可以了。如果
对字符集的要求很高,可以采用下面的这种 Unicode 块的方式:

String regex = "[\\p{InCJK Unified Ideographs}&&\\P{Cn}]]";

在当前的 JDK 版中与 [\u4e00-\u9fa5] 的意义一致。但这样可以匹配 Java 平台所支持
Unicode 块名为 CJK Unified Ideogrpahs 中已定义的字符,这种方式就属于“活”代码
今后的 JDK 版本升级了,定义到了 \u9fa6 的字符,同样能够满足匹配。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:7579次
    • 积分:192
    • 等级:
    • 排名:千里之外
    • 原创:9篇
    • 转载:4篇
    • 译文:0篇
    • 评论:1条
    相关链接
    文章分类
    最新评论