Java 中字符编码占用空间问题
下午在群里看到有人问 Java 中一个 char 占多少字节。
这不是很明显的两个字节嘛。
然后他又问,编码不一样的情况下空间不是会变化吗?
然后我就懵了。。
晚上找了一下资料,应该是这样的:
char 占两个字节,也就是UTF-16
编码,毫无疑问。他说的那种不同编码的情况下应该是体现在String
中。根据编码的不同,占用的 char 数组大小也不同,所以所占空间也就会变化。
那么再扩展一下,一个汉字用UTF-8
编码要多少字节呢?答案是 3~4 个字节,没错,有的中文字符不够用 16 字节表示。。比如这个𠜎,不知道能不能显示出来。