python中base64編碼與解碼

2021-08-28 05:22:30 字數 1185 閱讀 3489

引言:

在一些專案中,介面的報文是通過base64加密傳輸的,所以在進行介面自動化時,需要對所傳的引數進行base64編碼,對拿到的響應報文進行解碼;

base64編碼是一種「防君子不防小人」的編碼方式。廣泛應用於mime協議,作為電子郵件的傳輸編碼,生成的編碼可逆,後一兩位可能有「=」,生成的編碼都是ascii字元。

優點:速度快,ascii字元,肉眼不可理解

缺點:編碼比較長,非常容易被破解,僅適用於加密非關鍵資訊的場合

python2中進行base64編碼和解碼

>>> import base64

>>> s = '我是字串'

>>> a = base64.b64encode(s)

>>> print a

ztlkx9fwt/u0rg==ztlkx9fwt/u0rg==

>>> print base64.b64decode(a)

我是字串

python3不太一樣:因為3.x中字元都為unicode編碼,而b64encode函式的引數為byte型別,所以必須先轉碼。

import base64

encodestr = base64.b64encode(

'abcr34r344r'

.encode(

'utf-8'))

print

(encodestr)

列印結果為

b』ywjjcjm0cjm0nhi=』

結果和我們預想的有點區別,我們只想要獲得ywjjcjm0cjm0nhi=,而字串被b』'包圍了。

這時肯定有人說了,用正則取出來就好了。。。別急。。。

b 表示 byte的意思,我們只要再將byte轉換回去就好了。。。原始碼如下

import base64

encodestr = base64.b64encode(

'abcr34r344r'

.encode(

'utf-8'))

print

(str

(encodestr,

'utf-8'

))

列印結果為

ywjjcjm0cjm0nhi=

base64編碼 動畫演示 Base 64 編碼

base64 是一種十分流行的編碼方式,僅僅使用 64 個字元加等號 就可以以文字的形式表示所有的二進位制資料了,因為它能夠把二進位制格式通過編碼轉換成可見字元,所有我們就可以通過的把二進位制格式比如,檔案等通過 base64 編碼然後通過文字的形式共享出去,是不是很神奇呀。把輸入的資料轉換成 二進...

Python 模擬 Base64編碼

def enbs64 s 編碼後的結果 result 二進位制資料 bin data base64編碼對照表 bs64 table a b c d e f g h i j k l m n o p q r s t u v w x y z a b c d e f g h i j k l m n o p ...

python中base64編碼與解碼

base64是一種用64個字元來表示任意二進位制資料的方法。用記事本開啟exe jpg pdf這些檔案時,我們都會看到一大堆亂碼,因為二進位制檔案包含很多無法顯示和列印的字元,所以,如果要讓記事本這樣的文字處理軟體能處理二進位制資料,就需要乙個二進位製到字串的轉換方法。base64是一種最常見的二進...