为什么java中的char是2个字节

为什么java中的char是2个字节
我们平常不是说 一个字符站一个字节 一个字才站2个字节的吗?

char在Java中是16位的,因为Java用的是Unicode。不过8位的ASCII码包含在Unicode中,是从0~127的。
Java中使用Unicode的原因是,Java的Applet允许全世界范围内运行,那它就需要一种可以表述人类所有语言的字符编码。Unicode。但是English,Spanish,German, French根本不需要这么表示,所以它们其实采用ASCII码会更高效。这中间就存在一个权衡问题。

因为char是16位的,采取的Unicode的编码方式,所以char就有以下的初始化方式:
char c='c'; //字符,可以是汉字,因为是Unicode编码
char c=十进制数,八进制数,十六进制数等等; //可以用整数赋值
char c='\u数字'; //用字符的编码值来初始化,如:char='\0',表示结束符,它的ascll码是0,这句话的意思和 char c=0 是一个意思。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-01-20
因为Java的字符是用的Unicode编码,所以为2字节
第2个回答  2010-01-19
JAVA里的char和c不一样
它不是ASCII码
是UNICODE码,占2个字节
1—127兼容了ASCII码
第3个回答  推荐于2017-09-30
不用钻牛角尖,对于java来说,一个字母和一个汉字都算一个char本回答被提问者采纳
第4个回答  2010-01-20
是UNICODE编码。。。
U编码是中文和字母都是两个字节的。。。
以后还有好多字符集的。什么GB2312,GBK,UTF-8
相似回答