char a = '我';
System.out.println((int)a);
输出为25105
这个值是什么编码的?
在 JVM 里面 char 是用整型来表示的,编码是unicode
Java
中字符使用的是Unicode
的UTF-16
编码。并不是一个字符对应Integer
,Java
中的Character
占用2 Byte
,即16 bit
,而Integer
占用的是4 Byte
,即32 bit
,所以Integer
能表示所有的Character
,但并不是所有的Integer
都能找到对应的Character
。
**1.Java中一个中文汉字,是两个字节。
2.Java中有一个原则,不管在编译前java文件使用何种编码,在编译后成class后,他们都是一样的:使用Unicode编码表示。**