char是1个字节,因为它是在标准中指定的。nn最可能的逻辑是。 char (标准字符集)的(二进制)表示可以适合1个字节。 在C的主要开发时,最常用的标准是ASCII和EBCDIC ,它们分别需要7位和8位编码。 所以, 1个字节就足以表示整个字符集。

OTOH,在Java开始的时候,扩展charcater集和unicode的概念出现了。 因此,为了保证未来的可扩展性, char被赋予了2 bytes ,它能够处理扩展的字符集值。