base64算法
Base64编码规则是把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。
当代码量不是3的整数倍时,代码量/3的余数自然就是2或者1。转换的时候,结果不够6位的用0来补上相应的位置,之后再在6位的前面补两个0。转换完空出的结果就用就用“=”来补位。
例子,把"abcde",base64编码
1、把字符串"abcde"对应ascii的值(97,98,99,100,101),分成二进制
01100001 01100010 01100011 01100100 01100101
2、把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24)【转换的时候,结果不够6位的用0来补上相应的位置】空出的结果就用就用“=”来补位
011000 010110 001001 100011 011001 000110 010100 =
3、之后在6位的前面补两个0,形成8位一个字节的形式。
00011000 00010110 00001001 00100011 00011001 00000110 00010100 =
4、转成十进制
24  22  9  35  25  6  20  =
5、根据下表,得到扩展后的每个字节的对应符号,这就是Base64的编码值。
得出结果是:YWJjZGU=
------------------------------------------------------------------
对照表:
      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
  
                    
                
                
            
        
浙公网安备 33010602011771号