繁体   English   中英

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

[英]'str' object has no attribute 'decode'

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

string_bin = string_1.decode('hex')

但是我说错了

'str' object has no attrubute 'decode'

我正在使用python v3.4.1

你无法解码字符串对象; 它们已解码。 你必须使用不同的方法。

您可以使用codecs.decode()函数hex应用为编解码器:

>>> import codecs
>>> codecs.decode('ab', 'hex')
b'\xab'

这适用于二进制变换编解码器; 它相当于使用base64.b16decode()函数 ,输入字符串转换为大写:

>>> import base64
>>> base64.b16decode('AB')
b'\xab'

您还可以使用binascii.unhexlify()函数将十六进制数字序列“解码”为字节:

>>> import binascii
>>> binascii.unhexlify('ab')
b'\xab'

无论哪种方式,你都会得到一个bytes对象。

使用binascii

import binascii

binary_string = binascii.unhexlify(hex_string)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM