char tempchar = '我';
System.out.println(Integer.toHexString((int)tempchar));
tempchar = 'i';
System.out.println(Integer.toHexString((int)tempchar));
String temp = "我i";
byte[] bb = temp.getBytes("unicode");
for(byte b:bb){
System.out.println(Integer.toHexString(b));
}
int i = (bb[3]&((1<<8)-1))+((bb[2]&((1<<8)-1))<<8);
System.out.println(Integer.toHexString(i));
System.out.println((char)i);
输出
6211
69
fffffffe
ffffffff
62
11
0
69
6211
我
从上面可以看出:
1 Java的char使用unicode编码;
2 Unicode编码解析非空字符串的话,前两位byte总是-2,-1
本文通过Java代码演示了Unicode编码在Java中的使用方式。通过几个简单的示例,文章展示了如何将字符转换为Unicode编码,并解释了Unicode编码对于非空字符串的特殊处理方式。

被折叠的 条评论
为什么被折叠?



