Home>Article>Java> How many bytes does java char occupy?

How many bytes does java char occupy?

青灯夜游
青灯夜游 Original
2020-08-22 14:52:12 3290browse

In java, char occupies 2 bytes. In Java, as long as it is a character, whether it is a number, English or Chinese character, it takes up two bytes. Reason: Java compiler uses Unicode encoding by default, so 2 bytes can represent all characters.

How many bytes does java char occupy?

Related recommendations: "Java Video Tutorial"

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

2: 1 byte = 8 bit;

char is 2 bytes in java. Java uses Unicode, 2 bytes (16 bits) to represent a character.

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

Running result:

bytes 大小:3 bytes1大小:2

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

The 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.

For more related programming knowledge, please visit:Programming Learning Website! !

The above is the detailed content of How many bytes does java char occupy?. 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