python - 在 Python 中读取二进制数据 (ieee-le)

标签 python binary ieee-754 bin

我正在尝试在 Python 中打开一个二进制文件,为此我正在使用 Matlab

data = fread(file, [rows, cols], 'float','ieee-le')

在 Python 中我都试过了

data = open(file,'rb').read() &

data = np.fromfile(file, dtype=data_type, count=count)

两者都没有给出预期的结果(对于 data_type,我尝试了信息页面上列出的所有格式)。

只是读取数据,前 25 个样本如下所示:

b'\xe4\xa0B\xbc\x99\x9e\x1f\xbd\xc3\x07P>m\xe0\x96=\x0c\xf6\x8a=\x90\x86\t>)

在寻找解决方案时,我偶然发现了 Python 的结构包,但由于我对数据格式几乎一无所知,因此无法使用它来解决问题。因此,我们将不胜感激任何帮助......

最佳答案

在 numpy 中,ieee-le 浮点类型是 '<f4' ,它显示为“4 字节的小端 float ”。

因此您可以使用以下方式打开您的文件:

data = np.fromfile(filename, dtype='<f4', count=count)

关于python - 在 Python 中读取二进制数据 (ieee-le),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48392166/

相关文章:

python - 如何将 Marshall 代码对象转换为 PYC 文件

c++ - 2s补码是一种存储负数的方法吗?

floating-point - 是否有x的浮点值,x-x == 0为false?

python - 根据两个字典对列表进行排序

python - Django Rest Framework 在序列化程序中返回 403

c++ - 如何在 1 字节字符中存储 2 个数字?

c# - 如何以 2 个字节保存 float ?

floating-point - 将 IEEE-754 16 位 float 打包为 16 位无符号整数,同时保留顺序

python - 如何使用python从gmail下载附件?

python - 使用 pandas 数据帧输出调整 ipython 笔记本输出窗口的大小