为了账号安全,请及时绑定邮箱和手机立即绑定

将字节转换为浮点数?

将字节转换为浮点数?

慕姐4208626 2021-03-22 10:54:57
我有一个必须解析的二进制文件,并且正在使用Python。有没有办法占用4个字节并将其转换为单个精度浮点数?
查看完整描述

2 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

>>> 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@'


查看完整回答
反对 回复 2021-03-22
?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

只需添加一点,如果您想将浮点数作为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

>>> 


查看完整回答
反对 回复 2021-03-22
  • 2 回答
  • 0 关注
  • 190 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信