将ascii字符串转换为不带“b”和引号的base64

2024-10-01 15:28:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把一个ascii字符串(准确地说就是文本)转换成base64。 所以我知道怎么做,我只需要使用以下代码:

import base64
string = base64.b64encode(bytes("string", 'utf-8'))
print (string)

这给了我

^{pr2}$

但是问题是,我想把它打印出来

c3RyaW5n

是否可以打印不带“b”和“”引号的字符串? 谢谢!在


Tags: 字符串代码文本importstringbytesascii引号
2条回答

一个简单的.decode("utf-8")就可以了

import base64
string = base64.b64encode(bytes("string", 'utf-8'))
print (string.decode("utf-8"))

b前缀表示它是一个二进制字符串。二进制字符串是一个字符串:它是一个字节序列(值在0到255之间)。它只是简单地排字为一个字符串,使它更紧凑。在

但是,对于base64,所有字符都是有效的ASCII字符,因此您可以简单地将其解码如下:

print(string.decode('ascii'))

所以这里我们将把每个字节解码成它的ASCII等价物。因为base64保证它产生的每个字节都在ASCII范围'A'到{}),所以我们将始终生成一个有效的字符串。但是请注意,这是由任意二进制字符串保证的。在

相关问题 更多 >

    热门问题