【发布时间】:2018-11-20 01:05:47
【问题描述】:
我正在尝试将 IEEE 754 十六进制浮点数转换为标准 python 浮点数。
以下适用于 Python 2.x:
foo ='4074145c00000005'
conv_pound = struct.unpack('!d', foo.decode('hex'))[0]
print(conv_pound)
并产生以下输出(这确实是我想要的数字):
321.272460938
但是,python 3 没有 str.decode 方法,我正在努力寻找如何做到这一点。有什么建议吗?
【问题讨论】:
-
我已经尝试过了,但除非我遗漏了什么,否则我会得到 @t\x14\\\x00\x00\x00\x05' 作为结果
-
绝对不是重复,因为“重复”中显示的方法将给出一个字符串而不是字节对象。在这种情况下,正如下面的答案所示,我们必须中途停下来。
-
@kriss 好吧,OP 已经有了另一半,他们只需要将 2 和 2 放在一起。绝对是骗子。
-
@Wim:绝对不是一个骗子,就像在 python 中假装 bytes 类型是 str 类型的副本。大肆破坏!当然有些人可以自己得到答案,不需要SO。
标签: python python-3.x python-2.7 decode