Java用的是Unicode 编码char 型变量的局限是0-65535 无标记的值,能够示意 65536个字符,基本上地球上的字符可被悉数包含了,现实中,我们愿望推断一个字符是不是是汉字,或许一个字符串里的字符是不是有汉字来满足营业上的需求,String类中有个如许的要领可得到其字符长度length() ,看下面例子,
String s1 = "我是中国人"; String s2 = "imchinese"; String s3 = "im中国人"; System.out.println(s1+":"+new String(s1).length()); System.out.println(s2+":"+new String(s2).length()); System.out.println(s3+":"+new String(s3).length());
OUTPUT:
我是中国人:5
imchinese:9
im中国人:5
java推断字符串是不是为中文:
/** * 推断该字符串是不是为中文 * @param string * @return */ public static boolean isChinese(String string){ int n = 0; for(int i = 0; i < string.length(); i++) { n = (int)string.charAt(i); if(!(19968 <= n && n <40869)) { return false; } } return true; }
unicode编码局限:
汉字:[0x4e00,0x9fa5](或十进制[19968,40869])
数字:[0x30,0x39](或十进制[48, 57])
小写字母:[0x61,0x7a](或十进制[97, 122])
大写字母:[0x41,0x5a](或十进制[65, 90])
unicode中文局限
汉字编码局限:\u4e00-\u9FA5
双字节字符编码局限:\u0391-\uFFE5
更多java学问请关注java基础教程。
以上就是java中推断字符串是不是是中文的细致内容,更多请关注ki4网别的相干文章!