閱讀248 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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

  上一篇:go ibatis調用Oracle中的存儲過程和function
  下一篇:go java中BigDecimal的應用