我想將一個ascii字符串(以及精確的文本)轉換爲base64。 所以我知道該怎麼做,我只是用下面的代碼:將ascii字符串轉換爲不帶「b」和引號的base64
import base64
string = base64.b64encode(bytes("string", 'utf-8'))
print (string)
這給了我
b'c3RyaW5n'
但問題是,我想它只是打印
c3RyaW5n
是否可以打印沒有「b」和「'引號的字符串? 謝謝!
我想將一個ascii字符串(以及精確的文本)轉換爲base64。 所以我知道該怎麼做,我只是用下面的代碼:將ascii字符串轉換爲不帶「b」和引號的base64
import base64
string = base64.b64encode(bytes("string", 'utf-8'))
print (string)
這給了我
b'c3RyaW5n'
但問題是,我想它只是打印
c3RyaW5n
是否可以打印沒有「b」和「'引號的字符串? 謝謝!
的b
前綴表示,這是一個二進制字符串。一個二進制字符串是而不是一個字符串:它是一個字節序列(0到255範圍內的值)。它只是排版爲一個字符串,使其更加緊湊。
爲Base64的情況下,但是,所有的字符都是有效的ASCII字符,您因而可簡單地將其解碼喜歡:
print(string.decode('ascii'))
所以在這裏,我們將每個字節到其對應的ASCII碼進行解碼。由於base64保證它產生的每個字節都在ASCII範圍'A'
到'/'
),我們將始終生成一個有效的字符串。但請注意,這是而不是保證與一個任意的二進制字符串。
一個簡單的.decode("utf-8")
會做
import base64
string = base64.b64encode(bytes("string", 'utf-8'))
print (string.decode("utf-8"))