试图将字节数组中的字节分成两个半字节

时间:2019-07-31 01:47:53

标签: python arrays byte nibble

我得到了一个字节数组,我正在尝试测试第一个字节的前4位是否等于4。如果未返回错误代码2。

我已经尝试从数组中取出字节并对其进行十六进制值分割,但是我不太确定该怎么做,因为我是字节处理的新手。

def basicpacketcheck (pkt):
    version, hdrlen = bytes(pkt[0:1])
    if version != 4:
        return 2

所以这里是我的代码

pkt[0:1]

给我

bytearray(b'E')

我需要将E(转换为0x45)分为0x4和0x5。

1 个答案:

答案 0 :(得分:1)

使用pkt[0]将第一个字节作为整数69。然后,您可以使用按位移位(<<>>)和按位移位({{1 }})运算符针对int对象,分裂为半字节:

&