JAVA中判断char是否是中文的几种方法

 我来答
jamxval
2014-11-04 · TA获得超过6822个赞
知道大有可为答主
回答量:4308
采纳率:82%
帮助的人:1427万
展开全部

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

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

http://zhidao.baidu.com/question/239925413089593284.html


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


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

http://zhidao.baidu.com/question/1175094949377976899.html


for (char c = 1; c < 65535; c++)
{
System.out.print(String.valueOf(c));
if (c % 255 == 0)
{
System.out.println();
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式