base64編碼

一、Base64的原理:算法

實質上,base64就是一個64進制數字的表示方法。編碼

編碼方法:    1個字節佔8位,3個字節佔32位,  把3個字節轉化爲4個字節,每一個字節6位,一個6位的二進制最大值是64。因此,base64後的字符串是原始內容的8/6倍,也就是大33%加密

而後用一張轉碼錶對應各個字符,因此base64的可逆的。也就只能是一個編解碼算法,不是加密算法。索引

索引
對應字符
索引
對應字符
索引
對應字符
索引
對應字符
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
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

對於最後的不足3個字節的剩餘部分的處理爲轉碼後不足的補=字符串

原文剩餘的字節根據編碼規則繼續單獨轉(1變2,2變3;不夠的位數用0補全),再用=號補滿4個字節。這就是爲何有些Base64編碼會以一個或兩個等號結束的緣由,但等號最多隻有兩個。由於:一個原字節至少會變成兩個目標字節it

 

對於表中的+和/,UTL不支持,因此URL通常會用特殊的base64方法。base64

 

參考:百度百科https://baike.baidu.com/item/base64/8545775?fr=aladdintable

相關文章
相關標籤/搜索