我正在尝试将十六进制字符串解码为二进制值。 我在互联网上找到了下面的命令来完成它,
string_bin = string_1.decode('hex')
但是我说错了
'str' object has no attrubute 'decode'
我正在使用 python v3.4.1
最佳答案
你不能解码字符串对象;它们已经解码了。您将不得不使用不同的方法。
您可以使用 codecs.decode()
function将 hex
用作编解码器:
>>> import codecs
>>> codecs.decode('ab', 'hex')
b'\xab'
这适用于 Binary transform编解码器;它相当于使用 base64.b16decode()
function ,将输入字符串转换为大写:
>>> import base64
>>> base64.b16decode('AB')
b'\xab'
您还可以使用 binascii.unhexlify()
function将十六进制数字序列“解码”为字节:
>>> import binascii
>>> binascii.unhexlify('ab')
b'\xab'
无论哪种方式,您都会得到一个 bytes
对象。
关于python - 'str' 对象没有属性 'decode',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29030725/