欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python?Base64編碼和解碼操作

 更新時間:2022年12月02日 14:48:33   作者:峽谷的小魚  
Base64?就是一種基于64個可打印字符來表示二進制數(shù)據(jù)的方法,這篇文章主要介紹了Python?Base64編碼和解碼,需要的朋友可以參考下

Base64編碼和解碼

Base64 不是加密算法,只是一種編碼方式,數(shù)據(jù)從一種形式轉(zhuǎn)換為另一種形式進行傳輸/存儲。Base64 就是一種基于64個可打印字符來表示二進制數(shù)據(jù)的方法。
Base64要求把每三個8Bit的字節(jié)轉(zhuǎn)換為四個6Bit的字節(jié)(38 = 46 = 24),然后把6Bit再添兩位高位0,組成四個8Bit的字節(jié),也就是說,轉(zhuǎn)換后的字符串理論上將要比原來的長1/3。最后,用一個碼表來得到我們想要的字符串,這就是 Base64編碼。
碼表:

索引
對應(yīng)字符
索引
對應(yīng)字符
索引
對應(yīng)字符
索引
對應(yīng)字符
0
A
17
R
34
i
51
z
1
B
18
S
35
j
52
0
2
C
19
T
36
k
53
1
3
D
20
U
37
l
54
2
4
E
21
V
38
m
55
3
5
F
22
W
39
n
56
4
6
G
23
X
40
o
57
5
7
H
24
Y
41
p
58
6
8
I
25
Z
42
q
59
7
9
J
26
a
43
r
60
8
10
K
27
b
44
s
61
9
11
L
28
c
45
t
62
+
12
M
29
d
46
u
63
/
13
N
30
e
47
v
14
O
31
f
48
w
15
P
32
g
49
x
16
Q
33
h
50
y

Python 中集成了base64 模塊,可用于對二進制數(shù)據(jù)進行編碼解碼操作:

>>> a = "Hello world"
>>> b = base64.encode(a)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: encode() missing 1 required positional argument: 'output'
>>> 
>>> 
>>> b = base64.b64encode(a)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.8/base64.py", line 58, in b64encode
    encoded = binascii.b2a_base64(s, newline=False)
TypeError: a bytes-like object is required, not 'str'
>>> 
>>> 
>>> 
>>> a = b"Hello world"
>>> b = base64.b64encode(a)
>>> b
b'SGVsbG8gd29ybGQ='
>>> c = base64.b64decode(b)
>>> c
b'Hello world'
>>> d = b.decode('ascii')
>>> d
'SGVsbG8gd29ybGQ='
>>> e = base64.b64decode(d)
>>> e
b'Hello world'
>>>

可以看到使用 base64.b64encode 進行編碼時,只能時二進制數(shù)據(jù),如果輸入時 str 文本,將報錯 TypeError。
而使用 base64.b64decode 解碼時,字符串和字節(jié)床都可以作為輸入。

到此這篇關(guān)于Python Base64編碼和解碼的文章就介紹到這了,更多相關(guān)Python Base64編碼和解碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論