unicode中汉字区间问题

今天接到一个优化性能的任务,把一个过滤非汉字字符的算法性能提高一下,原来方法使用了如下方法:

if (Character.UnicodeBlock.of(c) == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS)

这个方法内部使用了一个二分查找的算法在一个100多个元素的数组中查找对应的UnicodeBlock,对于一个50K的html文件说,性能非常差。

经过查看发现,其实中文字符的Unicode区间只有以下几种:

所以对于我们这个简单的算法只要判断字符是否在0x4E00~0X9FFF之间就可以了,实现后仅仅这个因素性能提升就可以提升7倍(当然还有方法调用的消耗)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值