前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Base64编码

Base64编码

原创
作者头像
真正的飞鱼
发布2023-02-01 20:22:06
1.3K0
发布2023-02-01 20:22:06
举报
文章被收录于专栏:技术知识总结

介绍 Base64 编码

Base64 是一种使用 64 个可打印字符来表示二进制数据的编码方式。

Base64 中的 64 个可打印字符包括:大小写字母 a - z、阿拉伯数字 0 - 9,这样共有 62 个字符,另外两个可打印字符在不同的系统中而不同。RFC 4648 标准中,另外两个可打印字符是:加号 + 、斜线 /。Base64 使用等号 = 作为填充字符。


技术是为了解决问题而生的,Base64 编码的作用是:使用 64 个可打印字符来表示二进制数据,以便二进制数据在计算机中存储、通过网络传输。

Base64 编码的规则

Base64 编码的规则是:

  • 首先,将二进制数据中每 “三组 8 个二进制位” 重新分组为 “四组 6 个二进制位”;
  • 然后,每组的 6 个二进制位用一个十进制数来表示。6 个二进制位可表示的十进制数的范围是 0 - 63;
  • 接下来,根据 Base64 索引表,将每组的十进制数转换成对应的字符,即每组可以用一个可打印字符来表示;

"Man" 的 Base64 编码结果为 "TWFu",详细原理如下:

image-20230123120757169.png
image-20230123120757169.png

Base64 编码将 3 个字节编码为 4 个字符。如果要编码的字节数不能被 3 整除,最后会多出 1 个或 2 个字节,那么可以使用下面的方法进行处理:

  • 先使用 0 字节值在末尾补足,使字节数能够被 3 整除,然后再进行 Base64 编码。
  • 在 Base64 编码结果的末尾加上一个或两个等号 =,代表补足的字节数。

举例说明,最后剩余两个字节待补足:

image-20230123121133570.png
image-20230123121133570.png

举例说明,最后剩余一个字节待补足:

image-20230123121153663.png
image-20230123121153663.png

Base64 索引表

RFC 4648 标准的 Base64 索引表

十进制

二进制

字符

十进制

二进制

字符

十进制

二进制

字符

十进制

二进制

字符

0

000000

A

16

010000

Q

32

100000

g

48

110000

w

1

000001

B

17

010001

R

33

100001

h

49

110001

x

2

000010

C

18

010010

S

34

100010

i

50

110010

y

3

000011

D

19

010011

T

35

100011

j

51

110011

z

4

000100

E

20

010100

U

36

100100

k

52

110100

0

5

000101

F

21

010101

V

37

100101

l

53

110101

1

6

000110

G

22

010110

W

38

100110

m

54

110110

2

7

000111

H

23

010111

X

39

100111

n

55

110111

3

8

001000

I

24

011000

Y

40

101000

o

56

111000

4

9

001001

J

25

011001

Z

41

101001

p

57

111001

5

10

001010

K

26

011010

a

42

101010

q

58

111010

6

11

001011

L

27

011011

b

43

101011

r

59

111011

7

12

001100

M

28

011100

c

44

101100

s

60

111100

8

13

001101

N

29

011101

d

45

101101

t

61

111101

9

14

001110

O

30

011110

e

46

101110

u

62

111110

15

001111

P

31

011111

f

47

101111

v

63

111111

/

填充

=

image-20230123120641215.png
image-20230123120641215.png

参考资料

Base64 - 维基百科,自由的百科全书 (wikipedia.org)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍 Base64 编码
  • Base64 编码的规则
  • Base64 索引表
  • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档