首頁  >  文章  >  Java  >  java中char佔幾個位元組?

java中char佔幾個位元組?

angryTom
angryTom原創
2019-11-13 17:08:086809瀏覽

java中char佔幾個位元組?

java中char佔幾個位元組?

java中的一個char佔用2個位元組。 java採用unicode,2個位元組來表示一個字元。一個數字或英文或漢字都是一個字符,只不過數字和英文時,儲存的2個位元組的第一個字節都是0,就是浪費了點空間。存漢字就佔滿了2個位元組。

1:「位元組」是byte,「位元」是bit ;

2: 1 byte = 8 bit ;

範例程式碼如下:

public class Test {
    public static void main(String[] args) {
        String str = "中";
        char x = '中';
        byte[] bytes = null;
        byte[] bytes1 = null;
        try {
            bytes = str.getBytes("utf-8");
            bytes1 = charToByte(x);
        } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        System.out.println("bytes 大小:" + bytes.length);
        System.out.println("bytes1大小:" + bytes1.length);
    }
    public static byte[] charToByte(char c) {
        byte[] b = new byte[2];
        b[0] = (byte)((c & 0xFF00) >> 8);
        b[1] = (byte)(c & 0xFF);
        return b;
    }
}

運行結果:

bytes 大小:3
bytes1大小:2

java是用unicode來表示字符,"中"這個中文字符的unicode就是2個位元組。

String.getBytes(encoding)方法是取得指定編碼的byte陣列表示,

通常gbk/gb2312是2個位元組,utf-8是3個位元組。

如果不指定encoding則取系統預設的encoding。

php中文網,大量的免費Java入門教學,歡迎線上學習! 

以上是java中char佔幾個位元組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn