将4个字节转换为整数

时间:2018-12-02 16:59:29

标签: python binary

我正在学习Python,并希望将一些数据从二进制头文件转换为整数值。我知道头文件的结构(已经用C ++读取),并且我知道哪些字节构成一个整数。我已阅读了一些答案,所有答案都指向类struct和方法unpack。但是我不知道如何输入4个字节并获取整数。字节现在在列表中。 mybytes = (byte[0],byte[1],byte[2],byte[3]) 是否可以传递此列表以解包并获取整数?

到目前为止,没有一个答案对我有用。我尝试了以下方法:

val = struct.unpack("i", bytes(mybytes))

然后抛出错误mybytes不是4个字符的字符串,这很公平,因为它不是字符串。但是,然后如何将二进制数据作为字符串提供呢?

1 个答案:

答案 0 :(得分:0)

我不确定您在哪里出错。如果有四个值,您尝试的方法将起作用。

>>> mybytes = 1,2,3,4
>>> import struct
>>> struct.unpack('i',bytes(mybytes))
(67305985,)
>>> hex(_[0])
'0x4030201'