看到一个贴子
是问怎么检测一个字符是不是汉字的。 看到回答中有这样的答案\u4e00-\u9faf。。  看着很晕  以前见过这样的东西  不过一直不知道是什么  我想学习一下 麻烦大家告诉我一下 \u4e00 \u9faf  这个是什么东西? 还有什么高一位什么的。涉及到什么知识啊? 谢谢啦!

解决方案 »

  1.   

    Unicode
    ^[\u4E00-\u9FA5]+$这是专门用于匹配简体中文的正则表达式, 实际上繁体字也在里面
      

  2.   

    呵呵,那个帖子已经结帖了\u4e00 ~ \u9faf 是 Java 中表示 Unicode 字符的方法,这一 Unicode 编码范围是基本的汉字字符集。Unicode 编码是由 Unicode 组织制定并将其标准化的,以示在使用统一的编码来表示世界上大多数的语言字符,最初制定时是由 4 位的 16 进制字符(两个字节),被称为 UCS-2 表示(当然,为了表示更多的字符还有 UCS-4 标准,即采用 4 个字节来表示),可以包含 2^16(65536)个字符,Unicode码一般采用 U+0000 的格式进行表示,在 U+0000~U+007F 完全与ASCII 的 128 字符编码相同。再往后的字符的由 Unicode 来划分每种字符集的范围。至于高位为“1”是指:在使用 Unicode 的编码前,例如:原来在 DOS 系统下表示汉字的问题,DOS 中 ASCII 码由 1 个字节来表示,即 0x00~0x7F,而汉字则由两个字节来表示,为了不与 ASCII 字符相混淆,采用 0x80~0xFF 的范围来拼成两个字节(实际上最初的双字节汉字编码范围是 A0A1~FEFE 的,也就是我们常说的内码)。ASCII 的字符范围若是使用二进制则为 00000000~01111111,可以看到最高位(最左边的一位)是“0”,而 80~FF 则为 10000000~11111111,最高位为“1”,因此在那个帖子中 Inhibitory 的方法就是以此来判断的。
      

  3.   

    呵呵,为了说明 Java 能很好的支持 Unicode,我原来发过一个很有趣的帖子,有兴趣的话可以去看看:http://community.csdn.net/Expert/TopicView3.asp?id=5602854
      

  4.   

    Unicode编码~~~~
    检测是不是汉字就是用正则表达式来匹配~~~~
    楼主看看正则表达式相关的东西吧~~~~