Home >Java >JavaBase >How many bytes does char occupy in Java?

How many bytes does char occupy in Java?

angryTom
angryTomOriginal
2019-11-13 17:08:086944browse

How many bytes does char occupy in Java?

#How many bytes does char occupy in Java?

A char in java takes up 2 bytes. Java uses Unicode, 2 bytes to represent a character. A number, English or Chinese character is a character, but when it comes to numbers and English, the first byte of the two bytes stored is 0, which is a waste of space. Storing Chinese characters takes up 2 bytes.

1: "Byte" is byte, "bit" is bit;

2: 1 byte = 8 bit;

The example code is as follows:

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;
    }
}

Run results:

bytes 大小:3
bytes1大小:2

java uses unicode to represent characters. The unicode of the Chinese character "中" is 2 bytes.

String.getBytes(encoding) method is to obtain the byte array representation of the specified encoding.

Usually gbk/gb2312 is 2 bytes and utf-8 is 3 bytes.

If encoding is not specified, the system default encoding will be used.

php Chinese website, a large number of free Java introductory tutorials, welcome to learn online!

The above is the detailed content of How many bytes does char occupy in Java?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn