如何将二进制数据转换为整数?

时间:2010-06-16 11:56:54

标签: python

当我使用wave_read.readframes()时,我得到的结果是二进制数据,例如/x00/x00/x00:/x16#/x05"等非常长的字符串

当要求提供单帧时,它会提供@/x00\xe3\xff左右

我希望这个单独的帧数据以整数形式如何将它们转换为整数以将它们存储到数组中。

2 个答案:

答案 0 :(得分:1)

您需要struct模块。

答案 1 :(得分:0)

如果你想让每个字节都有自己的int,那么我就选择map:

b = '\xde\xad\xbe\xef'
d = map(ord, b)
print d
[222, 173, 190, 239]

但是,如果你对每个int(或word,dword等)超过1个字节感兴趣,那么reduce可以帮到你(big-endian示例):

reduce(lambda x, r: (x << 8) + r, d[1:3])
44478