Java字符串長度問題

string s1="cn";
string s2="中國";
system.out.println(s1.getBytes().length)
system.out.println(s2.getBytes().length)
s1顯示的是2
s2顯示的是4
Java語言內部的char是使用unicode編碼,UTF-16,因此都是兩字節。
getBytes後,其實是轉換成指定的編碼字符集。
不指定時,通常用本地字符集,一般是GBK、ACSII等,在這些字符集中,英文都是單字節的,因此會出現這樣的問題。
相關文章
相關標籤/搜索