圖片文件base64編碼

1.編碼

讀取一個(gè)文件,然后對(duì)其進(jìn)行base64編碼,方便在web網(wǎng)絡(luò)訪問請(qǐng)求時(shí)進(jìn)行傳遞

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中,字符串默認(rèn)不是以bytes類型的。在base64.b64encode方法進(jìn)行圖片編碼后。如果不對(duì)結(jié)果進(jìn)行bytes()轉(zhuǎn)換處理,在進(jìn)行base64.b64decode()解碼的時(shí)候,參數(shù)變成了普通的str類型。處理結(jié)果就會(huì)受到影響。而在python3中就不存在這樣的問題,因?yàn)閎ytes類型的字符串本身就沒有默認(rèn)轉(zhuǎn)為普通str類型的過程,而python2是有這個(gè)過程的,所以也是為什么我們要使用bytes進(jìn)行類型轉(zhuǎn)換這一過程的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容