开发者

how to convert a binary data into integer?

开发者 https://www.devze.com 2023-01-03 11:30 出处:网络
when I am using the wave_read.readframes() I am getting the result in binary data such as /x00/x00/x00:/x16#/x05\"etc a very long string

when I am using the wave_read.readframes() I am getting the result in binary data such as /x00/x00/x00:/x16#/x05" etc a very long string

when asked for single frame it gives @/x00 or \xe3\xff or so

I want this individual 开发者_Go百科frame data in integer how can I convert them into integer to store them into array.


You want the struct module.


If you want each byte in its own int, then I'd go with map:

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

If, however, you are interested in more than 1 byte per int (or word, dword, etc), reduce could do you well (big-endian example):

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

精彩评论

暂无评论...
验证码 换一张
取 消