将十六进制转换为 IEEE 754

Converting hexadecimal to IEEE 754

如果我使用像 http://www.h-schmidt.net/FloatConverter/IEEE754.html 这样的网站将十六进制字符串 '424E4B31' 转换为 float32,我得到 51.57343。

我需要使用 Python 来转换字符串,但是,使用 StackExchange 上的解决方案,例如:

import struct, binascii
hexbytes = b"\x42\x4E\x4B\x31"
struct.unpack('<f',hexbytes)

struct.unpack('f', binascii.unhexlify('424E4B31'))

我得到 2.9584e-09...为什么不一样?

因为字节序是一回事。

>>> struct.unpack('>f',hexbytes)
(51.573429107666016,)