6.10 編碼解碼Base64數(shù)據(jù)

2018-02-24 15:26 更新

問題

你需要使用Base64格式解碼或編碼二進制數(shù)據(jù)。

解決方案

base64 模塊中有兩個函數(shù) b64encode() and b64decode() 可以幫你解決這個問題。例如;

>>> # Some byte data
>>> s = b'hello'
>>> import base64

>>> # Encode as Base64
>>> a = base64.b64encode(s)
>>> a
b'aGVsbG8='

>>> # Decode from Base64
>>> base64.b64decode(a)
b'hello'
>>>

討論

Base64編碼僅僅用于面向字節(jié)的數(shù)據(jù)比如字節(jié)字符串和字節(jié)數(shù)組。此外,編碼處理的輸出結(jié)果總是一個字節(jié)字符串。如果你想混合使用Base64編碼的數(shù)據(jù)和Unicode文本,你必須添加一個額外的解碼步驟。例如:

>>> a = base64.b64encode(s).decode('ascii')
>>> a
'aGVsbG8='
>>>

當解碼Base64的時候,字節(jié)字符串和Unicode文本都可以作為參數(shù)。但是,Unicode字符串只能包含ASCII字符。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號