java怎么判断一个char是汉字_JAVA中判断char是否是中文的几种方法

展开全部

对照最新版本的 Unicode (最少是62616964757a686964616fe59b9ee7ad9431333335343330 6.0  版本,不知道现在是否有 7.0) 里面找从哪个 code point 数字开始到哪个数字结束的是常用中文汉字,另外冷僻汉字肯定不是用单个 char 能表示的,它们是用2个甚至多个 char 表示一个冷僻汉字的。

在这个图片中找 Select Block  里面的汉字 CJK (Chinese, Japan, Koren) 区域,它就是汉字,但有时候汉字可能像外人一样把中日韩的汉字都放一起。

在百度上搜索 unicode 6.0 超大字符集字体支持包,里面提供 unicode 6.0 的 unicode character map 表。

另外你也有一个最傻瓜式的做法,跑个循环把一个整数从 1 到 65535的 cast 成为 char 然后把它打印出来观察哪个范围之内是汉字,这样你就知道怎么判断了。不过要知道这只是汉字的一部分,冷僻字都不在 65535 这 char 表示的 2 字节范围内,JRE 5 开始提供的 String 的 codePoint 支持方法可以用来观察这些事情,就像下面这个百度链接中的样例代码:

for (char c = 1; c 

{

System.out.print(String.valueOf(c));

if (c % 255 == 0)

{

System.out.println();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值