执行System.out.print(Integer.toHexString(b) + " ");没有和0xff相与,结果为什么是这样啊:ffffffc4 ffffffbd ffffffbf ffffffce 41 42 43,前面24位不是0啊,这是为什么
中文的byte中最高位为1,即对应的byte为负数,转为Integer,符号不变,同样最高位为1,为负数。负数以补码存储在计算机中,因此为FFFFFF。具体补码怎么实现,上网查看转换规则即可。