2016-09-16 250 views
1

如果我使用類似http://www.h-schmidt.net/FloatConverter/IEEE754.html的網站將十六進制字符串'424E4B31'轉換爲float32,我得到51.57343。將十六進制轉換爲IEEE 754

我需要使用Python字符串,轉換,但使用的解決方案上StackExchange像:

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

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

我得到2.9584e-09 ......爲什麼是不同的?

回答

3

因爲排序是一件事情。

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