如题,String类型内部是char数组构成的,一个char占2个字节,也就是byte[2],但是,字符串转化成byte数字其实只有对应字符转化成数组的一半,这是为什么?
public static void main(String[] args) {
String str = "a";
System.out.println(str.getBytes().length);
}
打印的是1,不是应该是2吗?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
char占用2个字节是指在jvm中的内存使用。并不是指字符的实际存储的二进制大小,不同的字符根据编码的不同所占字节数也不完全相同。UTF-8编码
字符集和字符编码(Charset & Encoding)