Lia*_*iam 4 python base64 python-3.x
我想将ascii字符串(确切地说是文本)转换为base64.所以我知道如何做到这一点,我只使用以下代码:
import base64
string = base64.b64encode(bytes("string", 'utf-8'))
print (string)
Run Code Online (Sandbox Code Playgroud)
哪能给我
b'c3RyaW5n'
Run Code Online (Sandbox Code Playgroud)
但问题是,我希望它只是打印
c3RyaW5n
Run Code Online (Sandbox Code Playgroud)
是否可以打印不带"b"和"引号"的字符串?谢谢!
一个简单的.decode("utf-8")会做
import base64
string = base64.b64encode(bytes("string", 'utf-8'))
print (string.decode("utf-8"))
Run Code Online (Sandbox Code Playgroud)
该b前缀表示,这是一个二进制字符串.二进制字符串不是字符串:它是一个字节序列(0到255范围内的值).它被简单地排版为字符串,使其更紧凑.
但是对于base64,所有字符都是有效的ASCII字符,因此可以简单地解码它:
print(string.decode('ascii'))
Run Code Online (Sandbox Code Playgroud)
所以在这里我们将每个字节解码为其ASCII等价物.由于base64保证它产生的每个字节都在ASCII范围内'A',因此'/'我们将始终生成一个有效的字符串.但请注意,使用任意二进制字符串无法保证这一点.
| 归档时间: |
|
| 查看次数: |
3757 次 |
| 最近记录: |