在各个国家推出各自的编码规范的时候,由统一的组织规范了全球的编码规范就是 Unicode,自其从1991 年发布 1.0 的时候,在设计 Java 时候,决定采用了16位 Unicode 也就是 UTF-16,因为当时收集的字符仅仅占用不到 65536 的一半。
所以这个时候一个 char 16位占用2个字节,它就能表示一个字符
随着时间的流转越来越多国家的语言,比如中国的汉字不断的申请纳入 Unicode 编码中,原先的 16位已经超出了,新的字符一个 char 不能表示了,这个时候 采用了2个 char 来表示一个字符。
结论:
一个char 占用 2个字节,可以表示绝大数字符
无法用2个字节表示的字符,采用2个char,占用4个字节
System.out.println(Character.SIZE); // 输出16位,2字节
网友评论