Unicode 编码相关

相关链接

  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 的字符,同样能够满足匹配。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值