String text1
= "這是爪哇教學";
String text2 = "isjava";
String text3 = "is爪哇教學";
System.out.println(text1 +":"+new String(text1 ).length());
System.out.println(text2 +":"+new String(text2 ).length());
System.out.println(text3+":"+new String(text3 ).length());
輸出:
這是爪哇教學:6
isjava:6
is爪哇教學:6
以上的結(jié)果顯示,字串裏如果有雙位元組的字元java就把每個字元都按雙位元組編碼,如果都是單字節(jié)的字元就按單字節(jié)編碼
於是按照以上的規(guī)律,就是判斷字串的長度和字元位元組的長度是否相同來判斷是否有雙位元組的字元
System.out.println((text1 .getBytes().length == text1 .length())?" text1 沒有中文":"text1有中文字");
System.out.println((text2 .getBytes().length == tex2 .length())?"text2 沒有中文":"text2有中文字");
System.out.println((text3 .getBytes().length == text3 .length())?"text3 沒有中文":"text3有中文字");
OUTPUT:
text1有中文字
text2 沒有中文
text3有中文字
參考至: http://blog.xuite.net/programer/1/42065092
String text2 = "isjava";
String text3 = "is爪哇教學";
System.out.println(text1 +":"+new String(text1 ).length());
System.out.println(text2 +":"+new String(text2 ).length());
System.out.println(text3+":"+new String(text3 ).length());
輸出:
這是爪哇教學:6
isjava:6
is爪哇教學:6
以上的結(jié)果顯示,字串裏如果有雙位元組的字元java就把每個字元都按雙位元組編碼,如果都是單字節(jié)的字元就按單字節(jié)編碼
於是按照以上的規(guī)律,就是判斷字串的長度和字元位元組的長度是否相同來判斷是否有雙位元組的字元
System.out.println((text1 .getBytes().length == text1 .length())?" text1 沒有中文":"text1有中文字");
System.out.println((text2 .getBytes().length == tex2 .length())?"text2 沒有中文":"text2有中文字");
System.out.println((text3 .getBytes().length == text3 .length())?"text3 沒有中文":"text3有中文字");
OUTPUT:
text1有中文字
text2 沒有中文
text3有中文字
參考至: http://blog.xuite.net/programer/1/42065092