首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

为什么"你"这个字符串的byte[]是-60 -29,该如何解决

2012-01-20 
为什么你这个字符串的byte[]是-60 -29public class Test1 {/** * @param args */public static void mai

为什么"你"这个字符串的byte[]是-60 -29
public class Test1 {

/**
* @param args
*/
public static void main(String[] args) {
byte a[] = "你".getBytes();
StringBuffer buff = new StringBuffer();
for (int i = 0; i < a.length; i++) {
buff.append(a[i] + " ");
}
System.out.println("数组内容");
System.out.println(buff.toString());
}

}

运行结果为:
数组内容
-60 -29 


为什么"你"这个字符串的byte[]是-60 -29 


麻烦给出详细解释。

等待回答。



[解决办法]
使用系统默认的字符编码,对“你”进行了编码。
getBytes()的源码:

Java code
public byte[] getBytes() {    return StringCoding.encode(value, offset, count);    }
[解决办法]
探讨
很正常,一个unicode占两个字节啊!

[解决办法]
如果楼主看了1-5楼的回答还不明白,那么就需要恶补基础了喵~~``
[解决办法]
他们之间的对应关系你需要去专门的unicode码表网站查一下。这个码表非常宏大,而且目前还是继续扩充之中。
[解决办法]
字符嘛~
[解决办法]
探讨
我是问为什么是-60,-29,这两个数字?

热点排行