将字节转换为浮点数?

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


慕姐4208626
浏览 191回答 2
2回答

慕少森

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

梵蒂冈之花

只需添加一点,如果您想将浮点数作为unpack方法的输出而不是元组,则只需编写>>> [x] = struct.unpack('f', b'\xdb\x0fI@')>>> x3.1415927410125732如果您有更多的花车,那就写>>> [x,y] = struct.unpack('ff', b'\xdb\x0fI@\x0b\x01I4')>>> x3.1415927410125732>>> y1.8719963179592014e-07>>> 
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python