Python:字节到浮点

时间:2016-10-20 01:21:13

标签: python-3.x floating-point binaryfiles

我试图解析一个二进制文件,该文件包含1,2,4,8字节整数和4,8字节浮点的组合,以及具有不同编码的不同字符串。 如何将4个字节或8个字节转换为浮点?

使用struct包是最好的方法吗? 如果是这样,我如何使用struct包来获得浮点? 4字节和8字节

我怎么能用2字节或4字节整数做同样的事情? 我目前使用的是

int.from_bytes(binary_file.read(2), byteorder='little', signed=False)
int.from_bytes(binary_file.read(4), byteorder='little', signed=False)

将结构用于多个整数和浮点数是否更为理想?

1 个答案:

答案 0 :(得分:1)

struct模块是迄今为止最明显/最正确的方法。如果您阅读the docs,则可以在几秒钟内找到所需的所有格式代码。

int.from_bytes更通用(处理任意宽度),但是当你知道精确的宽度时,你可能会更好地使用struct;如果你对相同的格式做了很多,使用预构建的struct.Struct对象将比模块级函数运行得更快。