1. 程式人生 > >python 內置模塊:base64

python 內置模塊:base64

mic code word-wrap padding adding python 規則 sci 不足

base64編碼規則:

24bit的二進制數

|

分成4組,不足補\x00

|

每組編碼成1個字節(用64個ASCII碼中的字符表示),總共4個字節,不足補=



import base64

a = base64.b64encode(b'12Abc')
print (a)
print (str(a, 'utf-8'))

b = base64.b64decode(a)
print(b)
print (str(b, 'utf-8'))

運行結果:

b'MTJBYmM='
MTJBYmM=
b'12Abc'
12Abc


但,編碼後可能存在'+'或'\'號, 在URL中不允許,所以需要通過url safe進行轉換:+ --> - \ --> _

import base64

a = base64.b64encode(b'i\xb7\x1d\xfb\xef\xff')
print (a)

c = base64.urlsafe_b64encode(b'i\xb7\x1d\xfb\xef\xff')
print(c)
print(base64.urlsafe_b64decode(c))

運行結果:

b'abcd++//'

b'abcd--__'
b'i\xb7\x1d\xfb\xef\xff'


python 內置模塊:base64