python將base64編碼 解碼

2022-06-19 13:45:07 字數 2047 閱讀 3662

本樣例旨在解決base64編碼的解碼,提供了四種場景,希望可以幫到大家~

#

-*- coding:utf-8 -*-

#將base64編碼/解碼包

import

base64

#匯入url解碼包

from urllib import

parse

#普通中文

s = "你好"

#帶豎線的中文

str1 = '

中國|陝西省|西安市|雁塔區|小寨東路|178號'#

base64編碼後的樣例

example = '

5lit5zu9fomzleilv+ecgxzopb/lronluij86zub5agu5yy6fowwj+wvqos4noi3r3wxnzjlj7c='#

先base64編碼,再url編碼後的樣例

example_new = '

5lit5zu9fomzleilv%2becgxzopb%2flronluij86zub5agu5yy6fowwj%2bwvqos4noi3r3wxnzjlj7c%3d'#

場景一:普通中文base64編碼後,得到帶有b的編碼結果

#將字元為unicode編碼轉換為utf-8編碼

bs = base64.b64encode(s.encode("

utf-8"))

#得到的編碼結果前帶有b

print('

帶b的編碼結果:

',bs)

#將上面帶有b的編碼結果解碼

bbs = str(base64.b64decode(bs), "

utf-8")

#解碼print('

帶b的編碼結果解碼:

',bbs)

#場景二:將帶有豎線(可以沒有)的中文base64編碼後,得到不帶b的編碼結果

bs = str(base64.b64encode(str1.encode("

utf-8

")), "

utf-8")

#去掉編碼結果前的 b

print('

不帶b的編碼結果:

',bs)

#將上面不帶b的編碼結果解碼

bbs = str(base64.b64decode(bs), "

utf-8")

#解碼print('

不帶b的編碼結果解碼:

',bbs)

#場景三:base64編碼後的樣例的解碼

bbs = str(base64.b64decode(example), "

utf-8")

print('

base64編碼後的樣例解碼:

',bbs) #解碼#

場景四:先base64編碼,再url編碼後的樣例的解碼

str3 = parse.unquote(example_new) #

解碼字串

print('

url解碼後:

',str3) #

str3=haha哈哈

bbs = str(base64.b64decode(str3), "

utf-8")

print('

先base64編碼,再url編碼後的樣例的解碼:

',bbs) #

解碼

結果:

帶b的編碼結果: b'

5l2g5aw9

'帶b的編碼結果解碼: 你好

不帶b的編碼結果: 5lit5zu9fomzleilv+ecgxzopb/lronluij86zub5agu5yy6fowwj+wvqos4noi3r3wxnzjlj7c=不帶b的編碼結果解碼: 中國|陝西省|西安市|雁塔區|小寨東路|178號

base64編碼後的樣例解碼: 中國|陝西省|西安市|雁塔區|小寨東路|178號

url解碼後: 5lit5zu9fomzleilv+ecgxzopb/lronluij86zub5agu5yy6fowwj+wvqos4noi3r3wxnzjlj7c=先base64編碼,再url編碼後的樣例的解碼: 中國|陝西省|西安市|雁塔區|小寨東路|178號

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 ...

Base64編碼演算法

base64要求把每三個8bit的位元組轉換為四個6bit的位元組 3 8 4 6 24 然 後把6bit再添兩位高位0,組成四個8bit的位元組,也就是說,轉換後的字串理 論上將要比原來的長1 3。轉換後,我們用乙個碼表來得到我們想要的字串 也就是最終的base64編碼 這個表是這樣的 0 a 1...