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
不好意思,我也不能解释,为什么打印的结果是这样的。大牛飘过还请指摘。
char在Java中占用2字节。
Java编译器默认使用Unicode编码,因此2字节可以表示所有字符。
测试代码:
char a= (char) Integer.MAX_VALUE;
System.out.println((int)a);
结果输出:
65535
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
不好意思,我也不能解释,为什么打印的结果是这样的。大牛飘过还请指摘。
*/
char在Java中占用2字节。
Java编译器默认使用Unicode编码,因此2字节可以表示所有字符。
测试代码:
char a= (char) Integer.MAX_VALUE;
System.out.println((int)a);
结果输出:
65535
以上足以说明char占用的字节数是2字节。