基本概念
我們一般了解java中
一個字元char占2個位元組byte
一個漢字占2個位元組byte
一個字母占1個位元組byte
其他情況
對于漢字來說,采用gbk編碼占兩位元組,采用utf8編碼占三個位元組。
string的length()方法
string s1 = "aa";
string s2 = "a好";
s1.length()
s2.length()
答案都是2,因為該方法是傳回字元的個數,并不是記憶體中的位元組數。
資料庫應用
java的編碼不會影響資料庫對漢字或者字母所占記憶體的了解。
資料庫中一個字段長度為varchar(50),表明在記憶體中占50個位元組,是以我們一般認為可以輸入25個漢字,50個字母。
如果該内容即可以是漢字,也可以是字母,我們在背景驗證的時候一般減半處理。
if(name.length()<25){ }
當然也可以判斷如果是漢字,長度加1。