我有一个二进制文件,我必须解析,我正在使用Python。 有没有办法获取4个字节并将其转换为单精度浮点数?

===============>>#1 票数:75 已采纳

>>> import struct
>>> struct.pack('f', 3.141592654)
b'\xdb\x0fI@'
>>> struct.unpack('f', b'\xdb\x0fI@')
(3.1415927410125732,)
>>> struct.pack('4f', 1.0, 2.0, 3.0, 4.0)
'\x00\x00\x80?\x00\x00\x00@\x00\x00@@\x00\x00\x80@'

===============>>#2 票数:4

只是一点点补充,如果你想要一个浮点数作为unpack方法的输出而不是一个元组只是写

>>> [x] = struct.unpack('f', b'\xdb\x0fI@')
>>> x
3.1415927410125732

如果你有更多的花车,那就写吧

>>> [x,y] = struct.unpack('ff', b'\xdb\x0fI@\x0b\x01I4')
>>> x
3.1415927410125732
>>> y
1.8719963179592014e-07
>>> 

  ask by Cristian translate from so

未解决问题?本站智能推荐: