我正在尝试编写一个TCP服务器/客户端程序,用于传输一串由4个字节组成的流。一旦客户端接收到这4个字节,我希望将每个接收到的字节转换为一个boolean[8]。是否有方法可以做到这一点?我可以成功地从服务器将4个字节传输到客户端,并且客户端接收到的每个字节的值与传输到服务器的值相匹配。我已经确定了客户端上我编写的转换方法中的错误,下面是该方法的剪贴板,如果需要,我可以发布更多代码。
样例输入======(-2 11111110) (-10 11110110) (-2 11111110) (-2 11111110)
实际输出====(-2 11111110) (-10 11110110) (-2 11111110) (-2 11111110)
期望输出==(-2 11111110) (-10 11110110) (-2 11111110) (-2 11111110) [与输入相同]
样例输入======(-2 11111110) (-10 11110110) (-2 11111110) (-2 11111110)
实际输出====(-2 11111110) (-10 11110110) (-2 11111110) (-2 11111110)
期望输出==(-2 11111110) (-10 11110110) (-2 11111110) (-2 11111110) [与输入相同]
public static boolean[] byteToBoolArr(byte x) {
boolean[] boolArr = new boolean[8];
boolArr[0] = ((x & 0x01) != 0);
boolArr[1] = ((x & 0x02) != 0);
boolArr[2] = ((x & 0x04) != 0);
boolArr[3] = ((x & 0x08) != 0);
boolArr[4] = ((x & 0x16) != 0);
boolArr[5] = ((x & 0x32) != 0);
boolArr[6] = ((x & 0x64) != 0);
boolArr[7] = ((x & 0x128) != 0);
return boolArr;
}