Base64编码
Base64是一种最常见的二进制编码方法
编码步骤:
1.每3个字节(8位二进制)为一组,一共24个二进制位
2.将这个24个二进制位分成4组,每个组有6个二进制位,不足6位的,后面补0。
3.在每个组前面加两个0,这样每个组就又变成了8位,即每个组一个字节,4个组就4个字节了。
4.根据Base64的转码表找到每个字节对应的符号,这个符号就是Base64的编码值
Base64编码会把3字节的二进制数据编码为4字节的文本数据,长度增加33%
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 | / |
eg:
H | |
Ascii | 72 |
二进制 | 01001000 |
base64十进制编码 | 18 |
base64编码后的字符 | S |
注:
Base64字符是8个bit,但是有效部分只有右边的6个 bit,左边两个永远是0