java中一個漢字和一個字母所占內存字節比較以及後台驗證的減半處理
基本概念
我們一般理解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。
最後更新:2017-04-03 07:57:23