方法一:
用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;
}