Base64编码详解

Base64编码详解

原理

Base64编码以24个二进制为一个基本计算单位。

Base64编码的由来是由于0-63都有唯一的对应字母,刚好有64个字符,所以叫Base64。

要想表示64个所有的字符,需要6(64=26)个比特,所以24个二进制可以分有4个6位二进制(4*6=24),将6个比特高位补0变为8个比特后,就可以表示4个字节。也就是说一个3字节数据(24Bit)经过base64编码后变为4字节数据。

计算过程

字符

W

S

R

T

E

对应ASCII码

87

83

82

84

69

3个8位二进制

01010111

01010011

01010010

01010100

01000101

补位

4个6位二进制

010101

110101

001101

010010

010101

000100

010100

补位

高位补0成4个8位二进制

00010101

00110101

00001101

00010010

00010101

00000100

00010100

补位

十进制

21

53

13

18

21

4

20

补位

Base64编码

V

1

N

S

V

E

U

=

Base64计算规则:

(1)24个二进制为一基本计算单位,将原数据以3个字节划分,不足则补位。

(2)3个字节的数据变为4个6位二进制数据,不足的补0;如果不是4的倍数,补位至4的倍数。

(3)高位补0至8个Bit,变为1个字节。

(4)计算十进制,并查找base64编码表得到Base64编码。

附录:Base64编码表

Base64编码表

码值

字符

码值

字符

码值

字符

码值

字符

0

A

16

Q

32

g

48

w

1

B

17

R

33

h

49

x

2

C

18

S

34

i

50

y

3

D

19

T

35

j

51

z

4

E

20

U

36

k

52

0

5

F

21

V

37

l

53

1

6

G

22

W

38

m

54

2

7

H

23

X

39

n

55

3

8

I

24

Y

40

o

56

4

9

J

25

Z

41

p

57

5

10

K

26

a

42

q

58

6

11

L

27

b

43

r

59

7

12

M

28

c

44

s

60

8

13

N

29

d

45

t

61

9

14

O

30

e

46

u

62

+

15

P

31

f

47

v

63

/

附录:ASCII码表

猜你喜欢

转载自blog.csdn.net/barry1020441722/article/details/79715527