在Java中检测一个字符串中的字符是否为汉字

方法一:

用unicode码判断,gb2312编码在Unicode中的位置,首字节码位从0x81至0xFE,尾字节码位分别是0x40至0xFE.比较这个字符串的字节码是否处于这个区间,如不在,则表示它不是汉字字符.

public  boolean  isGB2312(String  str){  

   char[]  chars=str.toCharArray();  

   boolean  isGB2312=false;  

   for(int  i=0;i<chars.length;i++){  

      byte[]  bytes=(""+chars[i]).getBytes();  

      if(bytes.length==2){  

         int[]  ints=new  int[2];  

         ints[0]=bytes[0]&  0xff;  

         ints[1]=bytes[1]&  0xff;  

         if(ints[0]>=0x81  &&  ints[0]<=0xFE &&  ints[1]>=0x40  &&  ints[1]<=0xFE){  

             isGB2312=true;  

             break;  

         }  

       }  

    }  

   return  isGB2312;  

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值