输出结果不同
把Integer.toHexString(b)这个改成Integer.toHexString(b & 0xff)就一样了。
这个还有一个问题,单位数补0,不然会得到更加奇怪的答案
if(buf[i]<=0xf) {
System.out.print("0");
}
这样读取出来结果好像有问题。
按照你的代码应该这样写
if(bytes<=0xf) {
System.out.print("0");
}
老师讲错了,一定要在数组输出法的输出格式里面加上按位与操作 System.out.print(Integer.toHexString(buf[i]& 0xff)+" "); 不然得不到相同结果