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
以上的結果顯示,字串裏如果有雙位元組的字元java就把每個字元都按雙位元組編碼,如果都是單字節的字元就按單字節編碼
於是按照以上的規律,就是判斷字串的長度和字元位元組的長度是否相同來判斷是否有雙位元組的字元
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