- Java code
byte[] array = new byte[] { 10, -56, 13, 31}; String temp = new String(array); for (int i = 0; i < temp.getBytes().length; i++) System.out.println(temp.getBytes()[i]);
这段代码byte数组里面的-56在转回来输出时结果不同多了几个数。
想问下它的转换机制是怎样的,为什么负数会不同。
------解决方案--------------------
而10, 13,31 是有对应的 ASCII码的.
如下:
0000 1010 10 0A LF (NL line feed, new line) 换行键
0001 0011 19 13 DC3 (device control 3) 设备控制3
0001 1111 31 1F US (unit separator) 单元分隔符
------解决方案--------------------
现在楼主看到这种情况,不知道是否明白这种现象:
有些文件在一些编辑器打开是正常的,而在另一个编辑器打开会出现“黑点”