Java基本型別佔用的位元組數(char佔用幾個位元組問題)

玉樹臨風PRC發表於2017-04-18
Java基本型別佔用的位元組數:
1位元組: byte , boolean
2位元組: short , char
4位元組: int , float
8位元組: long , double
注:1位元組(byte)=8位(bits)


附錄:
1.編碼與中文:

Unicode/GBK: 中文2位元組
UTF-8: 中文通常3位元組,在擴充B區之後的是4位元組
綜上,中文字元在編碼中佔用的位元組數一般是2-4個位元組。


/*

測試程式碼:
System.out.println("中".getBytes("UTF-8").length); ----> 6
System.out.println("中中".getBytes("UTF-8").length); ----> 9
System.out.println("中".getBytes("GBK").length); ----> 3
System.out.println("中中".getBytes("GBK").length); ----> 6
不好意思,我也不能解釋,為什麼列印的結果是這樣的。大牛飄過還請指摘。

*/


2.char在Java中的位元組數:
char在Java中佔用2位元組。
Java編譯器預設使用Unicode編碼,因此2位元組可以表示所有字元。

測試程式碼:
char a= (char) Integer.MAX_VALUE;
System.out.println((int)a);
結果輸出:
65535

以上足以說明char佔用的位元組數是2位元組。


相關文章