在线Base64编码/解码

在线Base64编码解码说明

Base64编码说明,什么是Base64编码

  Base64编码是一种用64个字符来表示任意二进制数据的方法,常用于在URL、Cookie、网页中传输二进制数据。

  Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用'=',因此编码后输出的文本末尾可能会出现1或2个'='。

  为了保证所输出的编码位可读字符,Base64制定了一个编码表,以便进行统一转换。编码表的大小为2^6=64,这也是Base64名称的由来。

  Base64常用于处理文本数据的场合,表示、传输、存储一些二进制数据,包括MIME的电子邮件及XML的一些复杂数据。

Base64编码原理

Base64的编码都是按字符串长度,以每3个8bit的字符为一组;
然后针对每组,首先获取每个字符的ASCII编码;
然后将ASCII编码转换成8bit的二进制,得到一组3*8=24bit的字节;
然后将这24bit划分为4个6bit的字节,并在每个6bit的字节前面都填两个高位0,得到4个8bit的字节;
然后将这4个8bit的字节转换成10进制,对照Base64编码表 (下表),得到对应编码后的字符。

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