Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我能';t使用python对编码文本进行解码_Python_Decode - Fatal编程技术网

我能';t使用python对编码文本进行解码

我能';t使用python对编码文本进行解码,python,decode,Python,Decode,它告诉我:- from base64 import b64decode uio = input("Please enter the text you want to decode...") pu = b64decode(uio.decode()) print("Decode text : ") print(pu) 非常感谢您的帮助…您正在尝试对字符串对象进行解码()。这是行不通的。 只需将其删除,它就不会再引发错误,如下所示: pu = b64decode(uio.decode()) Att

它告诉我:-

from base64 import b64decode
uio = input("Please enter the text you want to decode...")
pu = b64decode(uio.decode()) 
print("Decode text : ")
print(pu)

非常感谢您的帮助…

您正在尝试对字符串对象进行
解码()。这是行不通的。
只需将其删除,它就不会再引发错误,如下所示:

pu = b64decode(uio.decode())
AttributeError: 'str' object has no attribute 'decode'
如果不确定是否始终存在字符串对象,请执行以下操作:

pu = b64decode(uio)
如果您热衷于性能,请注意,如果
try
中的语句经常成功,则首选
try/except
语句。如果没有,则使用
If/else
语句替换它,或者简单地交换
try/except
中的语句,但确保它捕获了特定的异常

还要注意,在python3中,
b64decode()
采用类似于
字节的对象,而不是字符串。因此,上述代码必须为:

try:
   pu =  b64decode(uio.decode('utf-8'))
except AttributeError:
   pu = b64decode(uio)

在Python3中,所有字符串都是unicode。因此,不需要解码。(另外,您应该指定编码:))。例如:

try:
    pu = b64decode(uio.encode('utf-8'))  # Note the use of encode()
except AttributeError:
    pu = b64decode(uio)

当然,也就是说,假设您对
b64decode()
的输入有效。这是不正确的。这将引发一个错误,因为输入需要是一个类似字节的对象,而不是字符串。
pu = b64decode(uio.decode("utf-8"))