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

相关文章
相关标签/搜索