解决方案 »

  1.   

    首先,128不在byte的范围,强制转换会变成-1,试了一下,单独一个byte,只要是负数,经过String编码之后,都变成了-3(byte),String存储的是char,是整数范围,用int表示就是65533
      

  2.   

    谢谢你的解答,我想知道为啥所有负数都会转换成-3,这个中间转换的过程是什么样的,谢谢搜索了一下,楼主看一下 http://my.oschina.net/joymufeng/blog/139952 讲得比较清晰
      

  3.   

    谢谢你的解答,我想知道为啥所有负数都会转换成-3,这个中间转换的过程是什么样的,谢谢搜索了一下,楼主看一下 http://my.oschina.net/joymufeng/blog/139952 讲得比较清晰
    谢谢,但是这篇文章没有找到我想要的答案
      

  4.   

    谢谢你的解答,我想知道为啥所有负数都会转换成-3,这个中间转换的过程是什么样的,谢谢搜索了一下,楼主看一下 http://my.oschina.net/joymufeng/blog/139952 讲得比较清晰
    谢谢,但是这篇文章没有找到我想要的答案65533是因为,String使用byte[]转换时,由于没有对应的编码 ,被转换为 unicode码【 � U+fffd 65533】,就是一个问号,所以获取到的char应该是�. 这个值为U+fffd 65533。
      

  5.   

    谢谢你的解答,我想知道为啥所有负数都会转换成-3,这个中间转换的过程是什么样的,谢谢搜索了一下,楼主看一下 http://my.oschina.net/joymufeng/blog/139952 讲得比较清晰
    谢谢,但是这篇文章没有找到我想要的答案65533是因为,String使用byte[]转换时,由于没有对应的编码 ,被转换为 unicode码【 � U+fffd 65533】,就是一个问号,所以获取到的char应该是�. 这个值为U+fffd 65533。说的有道理,谢了!