了解Base64编码


Base64编码

原来内容用UTF-8编码转化为底层二进制,根据编码规则和编码索引表转化成为base64内容。

编码内容

Base64编码可以打印64个不同字符,分别为字母 A-Z、a-z、数字 0-9,还有’+’和’/‘。(特殊的情况还有一个’=’)

编码索引:

码值 字符 码值 字符 码值 字符 码值 字符
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 /

编码规则

1.把每三个 8Bit 字节转换为四个 6Bit 字节

例子:abc
二进制转化(3个8bit):
01100001   01100010  01100011

二进制转化(4个6bit)
011000  010110   000101   100011

abc根据base64编码索引表转化为:YWJj

2.不够3个字符的需要补00(单字符高位补00,两字符低位补00),存在空位用’=‘来补充

例子1:a
二进制转化(只有1个8bit):
01100001
二进制转化为(只有2个6bit):
000110   000001   空   空
a根据base64编码索引表转化为:YQ==

例子2:ab
二进制转化(只有2个8bit):
01100001   01100010
二进制转化为(只有3个6bit):
011000  010110  001000  空
ab根据base64编码索引表转化为:YWI=

使用场景

1.证书
2.XML镶嵌进另一个XML文件
3.网页的小图片镶入
4.较老的纯文本协议 SMTP


  目录