python中base64編碼與解碼

2021-09-25 16:15:40 字數 1338 閱讀 1037

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

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

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

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

python2中進行base64編碼和解碼

>>> import base64

>>> s = '我是字串'

>>> a = base64.b64encode(s)

>>> print a

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=

我自己寫的乙個例子

#!/usr/bin/python2.7

# coding=utf-8

import base64

s = 'this is an example'

a = base64.b64encode(s)

print a

print base64.b64decode(a)

# chmod +x example-base64

# ./example-base64

dghpcybpcybhbiblegftcgxl

this is an example

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是一種最常見的二進...