java的char占用两个字节,刚好可以存储一个汉字。
ASCII的char只用一个字节,就不可以了。
计算机中数据的存储是以字节为单位的,常见的磁盘大小和文件大小分别以
GB、MB、KB等来表示的,它们之间的换算单位是1GB等于1024MB,1MB等于1024KB
,1KB等于1024byte(字节),每个字节的取值范围为-128到127,它可以保存一个
英文字符,包括字母、数字和英文标点,而汉字的存储是由两个字节保存的,
因为汉字的数量太多了,它的编码范围远远超过一个字节的取值范围,所以必须
使用双字节来表示,在java语言中,使用unicode字符集对字符进行编码,可以
存储65535个字符,所以java的字符类型被定义为双字节,因此在java语言中可以使用char类型的变量来存储汉字
在java中一个char类型的变量占16位(即两个字节)的存储空间,由于java语言
用unicode字符集对字符进行编码,因此char类型的变量可以存储任何字符,这些字符可以是英文字母、汉字、日文片段以及其他许多国家的字符 |