spe*_*man 20 base64 python-3.x
我正在尝试编写两个程序,一个将字符串转换为base64,然后另一个程序接受base64编码的字符串并将其转换回字符串.
到目前为止,我不能通过base64编码部分,因为我一直得到错误
TypeError: expected bytes, not str
Run Code Online (Sandbox Code Playgroud)
到目前为止我的代码看起来像这样
def convertToBase64(stringToBeEncoded):
import base64
EncodedString= base64.b64encode(stringToBeEncoded)
return(EncodedString)
Run Code Online (Sandbox Code Playgroud)
She*_*ena 41
字符串已经"解码",因此str类没有'decode'函数.因此:
AttributeError: type object 'str' has no attribute 'decode'
Run Code Online (Sandbox Code Playgroud)
如果要解码字节数组并将其转换为字符串调用:
the_thing.decode(encoding)
Run Code Online (Sandbox Code Playgroud)
如果要对字符串进行编码(将其转换为字节数组),请调用:
the_string.encode(encoding)
Run Code Online (Sandbox Code Playgroud)
就base 64的东西而言:使用'base64'作为上面编码的值会产生错误:
LookupError: unknown encoding: base64
Run Code Online (Sandbox Code Playgroud)
打开控制台并输入以下内容:
import base64
help(base64)
Run Code Online (Sandbox Code Playgroud)
您将看到base64有两个非常方便的功能,即b64decode和b64encode.b64 decode返回一个字节数组,b64encode需要一个字节数组.
要将字符串转换为它的base64表示形式,首先需要将其转换为字节.我喜欢utf-8但是使用你需要的任何编码......
import base64
def stringToBase64(s):
return base64.b64encode(s.encode('utf-8'))
def base64ToString(b):
return base64.b64decode(b).decode('utf-8')
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
53825 次 |
最近记录: |