Python 3 相当于 Python 2 str.decode ('hex' )

标签 python python-3.x python-2.7 decode

<分区>

我正在尝试将 IEEE 754 十六进制 float 转换为标准 python float 。

以下在 Python 2.x 中有效:

foo ='4074145c00000005'
conv_pound = struct.unpack('!d', foo.decode('hex'))[0]
print(conv_pound)

并产生以下输出(这确实是我想要的数字):

321.272460938

但是,python 3 没有 str.decode 方法,我正在努力寻找如何做到这一点。有什么建议吗?

最佳答案

bytes.fromhex()在 python3 中为我工作:

Python 3.6.6 (default, Sep 12 2018, 18:26:19) 
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> foo ='4074145c00000005'
>>> import struct
>>> struct.unpack('!d', bytes.fromhex(foo))
(321.2724609375003,)
>>> struct.unpack('!d', bytes.fromhex(foo))[0]
321.2724609375003

关于Python 3 相当于 Python 2 str.decode ('hex' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53377397/

相关文章:

Python/Scikit-learn/regressions - 从 pandas Dataframes 到 Scikit 预测

python - 如何知道输出是否进入终端?

python - 我怎样才能杀死所有线程?

python-3.x - 如何将 PyCairo 表面转换为 OpenCV numpy 并在 Python 3 中返回

python - Pandas read_csv 中的复杂分隔列

python - 对元组中的相似元素求和

python - 在相同的Python代码中发送数据包和嗅探

python - 在 DELETE Rest api 调用上断开 TwythonStreamer

python - 当我运行Python程序时,pygame窗口打开片刻,然后退出

python - 更改 Google map 中标记符号的颜色 - Python