在我的C#应用程序中,我有一个字节数组如下。
byte[] byteArray = {0x2, 0x2, 0x6, 0x6};
我需要拆分前两个元素,即0x2和0x2,并将其分配给一个字节变量。同样,最后两个元素应该分配给另一个字节变量。
即
byte FirstByte = 0x22;
byte SecondByte = 0x66;
我可以将数组拆分为子数组,但我找不到将byteArray转换为单个字节的方法。
答案 0 :(得分:4)
您可以将它们按位或一起使用<<
移动其中一个半字节:
byte firstByte = (byte)(byteArray[0] | byteArray[1] << 4);
byte secondByte = (byte)(byteArray[2] | byteArray[3] << 4);
您没有指定组合半字节的顺序,因此您可能需要这样:
byte firstByte = (byte)(byteArray[1] | byteArray[0] << 4);
byte secondByte = (byte)(byteArray[3] | byteArray[2] << 4);