2024-06-28 18:57:34 发布
网友
使用Python2.7.3:如何将十六进制字符串转换为未打包的IEEE754格式编号:
我有一组十六进制数据,格式如下:
data = '38 1A A3 44'
我想使用struct.unpack将其转换为浮点数:
fdata = struct.unpack('<f','\x38\xA1\xA3\x44') # fdata=1304.8193359375
有没有一个Pythonic解决方案,或者我是否需要以某种方式为数据中的每个空格替换一个转义序列?
首先将十六进制代码点转换为字节字符串;^{}可以为您执行此操作,前提是删除空白:
import binascii import struct fdata = struct.unpack('<f', binascii.unhexlify(data.replace(' ', '')))[0]
演示:
>>> import binascii >>> import struct >>> data = '38 1A A3 44' >>> struct.unpack('<f', binascii.unhexlify(data.replace(' ', ''))) (1304.8193359375,)
首先将十六进制代码点转换为字节字符串;^{} 可以为您执行此操作,前提是删除空白:
演示:
相关问题 更多 >
编程相关推荐