AttributeError:'str'对象没有属性'decode'Python3

时间:2014-04-12 17:21:58

标签: python

此行在python 2.7.6 中完美运行,但在 Python 3.3.5 中失败。我如何在Python 3中解码为hex值。

return x.replace(' ', '').replace('\n', '').decode('hex')

回溯

AttributeError: 'str' object has no attribute 'decode'

1 个答案:

答案 0 :(得分:2)

要将十六进制转换为字符串,请使用binascii.unhexlify

>>> from binascii import unhexlify
>>> unhexlify(x.replace(' ', '').replace('\n', ''))

但是,对于Python 3,首先需要将x设置为bytes才能使其正常工作。通过执行此操作:

>>> x = x.encode('ascii', 'strict')

然后进行十六进制到字符串的转换。