for(byte b:buf){
System.out.print(Integer.toHexString(b & 0xff)+" ");
}
byte b = -13;
System.out.println(Integer.toHexString(b));// fffffff3
System.out.println(Integer.toHexString(b & 0xff));// f3
byte可能是负数(比如中文对应的字节),而toHexString(int b)的参数是int类型,所以可以使用0xff将高位的都清除,只剩地位的8个bit。