请看以下简单的代码: byte[] b = "你".getBytes("gbk");
System.out.println(b[0]);
System.out.println(b[1]);结果为:
-60
-29我的问题是:
GBK码表里没有负数,为什么打印结查是负数,应该是一个正数才对啊,谢谢解答!

解决方案 »

  1.   

    标题:经典java、.net、php、网页平面视频教程DVD免费申领
    内容:改变中国it教育是传智播客毕生为之奋斗的目标,为了让我们的教程更大范围地普及到广大学子身上,传智播客投入了百万元刻录了几十万张java、.net、php、网页平面设计学习光盘,现在免费赠送给广大学子。相信有了我们的教程,您不再感叹编程入门难,相信有了我们的教程,您的人生将从此改变。免费领取:http://www.itcast.cn/subject/wrfq/index.html?from=jz
      

  2.   

    一个汉字表示一个字符,大小为两个字节,在gbk编码方式中。而这两个字节是连在一起的,或者说gbk编码方式里没有'你'的一半的编号,只有'你'这个整体的汉字对应的编号。这个应该是默认的规定,不必太在意这个现象。如果你输出一个完整的你就能得到一个正数。我以前也遇到同样的问题,嘿嘿