在张孝祥老师《Java就业培训教程》中看到,Java中字符占2个字节,是用Unicode编码的,比如可以'\u0061'表示一个字符:- class ChTest
- {
- public static void main(String[] args)
- {
- char ch = '\u0061';//Unicode码值表示一个字符
- System.out.println(ch);//结果输出 a
- System.out.println((int)ch);//结果输出97
- /*
- 问题:在 内存 中字符 a 的表示应该是这样:a的ASCII码值为97,
-
- 97的二进制为 0000-0000 0110-0001 占2个字节,但是ASCII编码不是1个字节就可以么?
- 还有Unicode码又是干嘛的?和ASCII码有什么联系和区别?
- */
- }
- }
复制代码 既然字符是通过相应ASCII码值的二进制形式存储在内存,那么字符是Unicode编码的又是什么意思?求解~
|
|