我有一个 10 字节(80 位)Little Endian 浮点值(或float80
)的数组。我如何在 python 3 中读取这些值?
该软件包struct
不支持float80
(可能是我不小心阅读了文档)。
与“struct”包array
相同的包不支持float80
.
包numpy
支持float128
或float96
类型。这非常好,但是附加\x00
在尾部float80
以将其扩展到float96
或者很难看float128
,导入这个包需要很多时间。
该软件包ctypes
支持c_longdouble
. 它比 numpy 快很多倍,但是sizeof(c_longdouble)
依赖于机器并且可以少于 80 位,附加\x00
在尾部float80
以将其扩展到c_longdouble
也很丑陋。
更新 1:在我的gist.github测试代码。该功能decode_str64
很丑陋,但它确实有效。现在我正在寻找正确的方法