本樣例旨在解決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...