'str' object has no attribute 'decode'
You cannot decode string objects; they are already decoded. You'll have to use a different method.
You can use the codecs.decode()
function to apply hex
as a codec:
>>> import codecs>>> codecs.decode('ab', 'hex')b'\xab'
This applies a Binary transform codec; it is the equivalent of using the base64.b16decode()
function, with the input string converted to uppercase:
>>> import base64>>> base64.b16decode('AB')b'\xab'
You can also use the binascii.unhexlify()
function to 'decode' a sequence of hex digits to bytes:
>>> import binascii>>> binascii.unhexlify('ab')b'\xab'
Either way, you'll get a bytes
object.