"Byte" is byte, "bit" is bit; char is 2 bytes in Java. Java uses Unicode, 2 bytes (16 bits) to represent a character.
The example code is as follows:
1 byte = 8 bit ;Running result:
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; } }java uses unicode Indicates 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.
The above is the detailed content of How many bytes do java characters occupy?. For more information, please follow other related articles on the PHP Chinese website!