java中字符、字節以及漢字的長度問題。

今天在做項目的時候app嵌入新浪時,要求顯示用戶輸入文章的字數。只是用了string.length()的方法來計算還能剩多少字數。如果您與我的思路是一樣的話,那麼就大錯特錯了。

public static void main(String[] args) {
// TODO Auto-generated method stub
String s1 ="woshi";
String s2 ="呵呵";
String s3 ="呵呵s";


System.out.println(s1.length());
System.out.println(s2.length());
System.out.println(s3.length());
}

輸出內容分別是:5 2 3

由此可以看出java有一個特點就是不論是中文還是英文,都是按照1個長度來看待的,而不是根據所佔的字節數來計算length長度.

那麼我們應該怎麼做呢:

public static void main(String[] args) {
// TODO Auto-generated method stub
String s1 ="woshi";
String s3 ="呵呵s";

byte[] b = null;
try {
b = s3.getBytes("gb2312");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(s1.length());
System.out.println(b.length);

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章