将十六进制转换为 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,)
如果我使用像 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,)