Java-java 打印汉字码表
想打印下汉字的码表,却不知道该如何实现了... 我这样写
for(char i=0x4e00;i<0x9fa5;i++) sysout( (char) i );
但是打印出来的有很多不可见字符,而且 0x9fa5 - 0x4e00 = 20901;单纯 汉字应该没有这么多...
求解 如何打印 中文汉字码表
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
public class Test {
public static void main(String[] args) {
int total = 0;
for (char i = 0x4e00; i <= 0x9fa5; i++) {
Character ch = new Character((char)i);
String v = ch.toString();
try {
byte[] b = v.getBytes("GB2312"); // 通过是否是 gb2312 编码来判断是否是简体中文
if (b.length > 1) {
// System.out.println(v);
total++;
}
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
System.out.println(total);
}
}
我没有验证是否是正确,这样出来的总数是 6763
汉字码表范围:
http://stackoverflow.com/questions/1366068/whats-the-complete-range-for-chinese-characters-in-unicode
Block Range Comment
CJK Unified Ideographs 4E00-9FFF Common
CJK Unified Ideographs Extension A 3400-4DFF Rare
CJK Unified Ideographs Extension B 20000-2A6DF Rare, historic
CJK Compatibility Ideographs F900-FAFF Duplicates, unifiable variants, corporate characters
CJK Compatibility Ideographs Supplement 2F800-2FA1F Unifiable variants
《康熙字典》吸收了历代字书编纂的经验,。。。总共收录了四万七千零三十五个字