此行在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'
答案 0 :(得分:2)
要将十六进制转换为字符串,请使用binascii.unhexlify
。
>>> from binascii import unhexlify
>>> unhexlify(x.replace(' ', '').replace('\n', ''))
但是,对于Python 3,首先需要将x
设置为bytes
才能使其正常工作。通过执行此操作:
>>> x = x.encode('ascii', 'strict')
然后进行十六进制到字符串的转换。