1.編碼
讀取一個文件噪猾,然后對其進行base64編碼悯姊,方便在web網(wǎng)絡(luò)訪問請求時進行傳遞
import base64
def get_base64_encode(filename):
with open(filename, 'rb') as f:
return base64.b64encode(f.read())
2.解碼
def write_file_from_base64(filename, data):
with open(filename, 'wb') as f:
if not isinstance(data, bytes):
data = bytes(data)
f.write(base64.b64decode(data))
3.要說明的是
由于在python2.x中弛秋,字符串默認不是以bytes類型的特纤。在base64.b64encode方法進行圖片編碼后。如果不對結(jié)果進行bytes()轉(zhuǎn)換處理阔涉,在進行base64.b64decode()解碼的時候,參數(shù)變成了普通的str類型捷绒。處理結(jié)果就會受到影響瑰排。而在python3中就不存在這樣的問題,因為bytes類型的字符串本身就沒有默認轉(zhuǎn)為普通str類型的過程暖侨,而python2是有這個過程的椭住,所以也是為什么我們要使用bytes進行類型轉(zhuǎn)換這一過程的。