Python中base64模塊如何使用,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
西安ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
Python base64模塊是用來作base64編碼解碼的。這種編碼方式在電子郵件中是很常見的。它可以把不能作為文本顯示的二進(jìn)制數(shù)據(jù)編碼為可顯示的文本信息。編碼后的文本大小會(huì)增大1/3。
最簡單的加解密實(shí)例
import base64 str1 = 'djhui' str2 = base64.b64encode(str1) str3 = base64.b64decode(str2)
閑話不說了,Python base64模塊真正用的上的方法只有8個(gè),分別是encode, decode, encodestring, decodestring, b64encode,b64decode, urlsafe_b64decode,urlsafe_b64encode。他們8個(gè)可以兩兩分為4組,encode,decode一組,專門用來編碼和 解碼文件的,也可以對(duì)StringIO里的數(shù)據(jù)做編解碼;encodestring,decodestring一組,專門用來編碼和解碼字符串; b64encode和b64decode一組,用來編碼和解碼字符串,并且有一個(gè)替換符號(hào)字符的功能。
這個(gè)功能是這樣的:因?yàn)閎ase64編碼后的字符除 了英文字母和數(shù)字外還有三個(gè)字符 + / =, 其中=只是為了補(bǔ)全編碼后的字符數(shù)為4的整數(shù),而+和/在一些情況下需要被替換的,b64encode和b64decode正是提供了這樣的功能。至于什 么情況下+和/需要被替換,最常見的就是對(duì)url進(jìn)行base64編碼的時(shí)候。urlsafe_b64encode和urlsafe_b64decode 一組,這個(gè)就是用來專門對(duì)url進(jìn)行base64編解碼的,實(shí)際上也是調(diào)用的前一組函數(shù)。
下面看看Python base64模塊的例子:
#-*- encoding:gb2312 -*- import base64 import StringIO a = "this is a test" b = base64.encodestring(a) # 對(duì)字符串編碼 print b print base64.decodestring(b) # 對(duì)字符串解碼 c = StringIO.StringIO() c.write(a) d = StringIO.StringIO() e = StringIO.StringIO() c.seek(0) base64.encode(c, d) # 對(duì)StringIO內(nèi)的數(shù)據(jù)進(jìn)行編碼 print d.getvalue() d.seek(0) base64.decode(d, e) # 對(duì)StringIO內(nèi)的數(shù)據(jù)進(jìn)行解碼 print e.getvalue() a = "this is a +test" b = base64.urlsafe_b64encode(a) # 進(jìn)行url的字符串編碼 print b print base64.urlsafe_b64decode(b)
上面的encode函數(shù)和decode函數(shù)的參數(shù)其實(shí)還可以是文件對(duì)象的,那的象這樣:
f1 = open('aaa.txt', 'r') f2 = open('bbb.txt', 'w') base64.encode(f1, f2) f1.close() f2.close()
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。