base64模塊提供了在二進制數據和可打印ASCII字符間編解碼的功能,包括RFC3548中定義的Base16, Base32, Base64, Ascii85, Base85等編碼。html
RFC3548中定義的編碼適用於將二進制數據編碼後,在郵件、URL、HTTP POST請求中安全地傳遞數據。編碼算法不一樣於uuencode program??python
python3.4及以後的版本支持兩種接口:算法
對類字節對象s進行Base64編碼,返回編碼後的字節序列。安全
可選參數altchars必須是2個長度的類字節對象,分別替換編碼結果中的'+'和'/'字符。可應用於生成安全的URL或文件系統Base64編碼場景中。編碼
對使用Base64編碼生成的類字節對象或純ASCII字符組成的Unicode字符串s進行Base64解碼,返回解碼後的字節序列。url
可選參數altchars必須是2個長度的類字節對象或純ASCII字符組成的Unicode字符串,分別將s中對應的字符替換爲'+'和'/'。spa
若是s未能正確填充(s的長度必須是4的整數倍數),拋出binascii.Error
.code
若是validate的值是False,s中的非法字符(既不是標準base-64碼錶中的字符,又不是某些容許的可選字符)將在填充檢查前丟棄。若是validate的值是True,s存在非法字符將拋出binascii.Error
.htm
對類字節對象s進行標準Base64編碼,返回編碼後的字節序列。等同於b64encode(s)對象
對類字節對象或純ASCII字符組成的Unicode字符串s進行標準Base64解碼,返回解碼後的字節序列。等同於b64decode(s)
對類字節對象s進行安全的URL及文件系統Base64編碼,替換標準Base64編碼中的'+'爲'-', '/'爲'_',返回編碼後的字節序列
對類字節對象或純ASCII字符組成的Unicode字符串s進行URL及文件系統Base64解碼,返回解碼後的字節序列
base64.b32encode(s) base64.b32decode(s, casefold=False, map01=None) base64.b16encode(s) base64.b16decode(s, casefold=False) base64.a85encode(b, *, foldspaces=False, wrapcol=0, pad=False, adobe=False) base64.a85decode(b, *, foldspaces=False, adobe=False, ignorechars=b' \t\n\r\v') base64.b85encode(b, pad=False) base64.b85decode(b)