python - 'str' 对象没有属性 'decode'

标签 python string python-3.x binary hex

我正在尝试将十六进制字符串解码为二进制值。 我在互联网上找到了下面的命令来完成它,

string_bin = string_1.decode('hex')

但是我说错了

'str' object has no attrubute 'decode'

我正在使用 python v3.4.1

最佳答案

你不能解码字符串对象;它们已经解码了。您将不得不使用不同的方法。

您可以使用 codecs.decode() functionhex 用作编解码器:

>>> 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/

相关文章:

python - 沿二维数组中的对角线和反对角线求和 - NumPy/Python

Python 2.7 类属性奇怪的行为

python - 练习 5.2 难住了

python - 使用 Numpy 对数据进行分箱以简化线性回归

Python 抓取谷歌金融

python - 将列表中的项目从前移到后

python - 将 TKinter 转换为 Exe 文件

c++ - 演示代码抛出 out_of_range 异常,但我不知道为什么

string - VBA 多行字符串问题

linux - 在 Python 中调用自定义的 bash 函数