Java中文字符所占的字節數
Java語言中,中文字符所占的字節數取決于字符的編碼方式,一般情況下,采用ISO8859-1編碼方式時,一個中文字符與一個英文字符一樣只占1個字節;采用GB2312或GBK編碼方式時,一個中文字符占2個字節;而采用UTF-8編碼方式時,一個中文字符會占3個字節。我們可以通過String類的getBytes(String charsetName)方法來獲取到字符串以指定編碼方式編碼后所得到的字節數組,然后字節數組的長度就是該字符串在指定編碼方式下所占的字節數。下面為一個測試示例:
public static void main(String []args) throws UnsupportedEncodingException { // 運行結果:2 System.out.println("測試".getBytes("ISO8859-1").length); // 運行結果:4 System.out.println("測試".getBytes("GB2312").length); // 運行結果:4 System.out.println("測試".getBytes("GBK").length); // 運行結果:6 System.out.println("測試".getBytes("UTF-8").length); } |
注意:String類的不帶參數的getBytes()方法會以程序所運行平臺的默認編碼方式為準來進行轉換,在不同平臺下就會有不同的結果,因此建議使用指定編碼方式的getBytes(String charsetName)方法。