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

为什么你这个字符串的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,这两个数字?