我得到了一个字节数组,我正在尝试测试第一个字节的前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。
答案 0 :(得分:1)
使用pkt[0]
将第一个字节作为整数69。然后,您可以使用按位移位(<<
,>>
)和按位移位({{1 }})运算符针对int对象,分裂为半字节:
&