Base64编码概述

Base64编码是一种把二进制数据编码成文本数据的一种编码方法,它在HTML、XML等基于文本的协议中特别重要,因为这些协议不能使用二进制数据。

Base64定义于RFC2045协议中


具体的编码规则如下:
把每三个字节拆成四个字节(补0拆: 在拆后的每六个位前面补两个0形成一个新字节),如下:
原:11010101 11000101 00110011
拆成后:00110101 00011100 00010100 00110011
接着对每个拆后的字节依据其值(这个值范围从0~63,所以称为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  (pad) =
14 O  31 f  48 w
15 P  32 g  49 x
16 Q  33 h  50 y
在拆分过程中,如果原字节数不是3的倍数,则结果补0后再处理,像这样补0后处理的,就加一个=号。如:
11010101 HEX:D5 11000101 HEX:C5 (这对汉字编码就是“张”)
拆分:00110101 00011100 00010100
编码:1iU=

知道了Base64编码原理,编写相应的程序进行编码和解码都是非常容易。
 

参考:http://www.5dmail.net/html/2004-1-30/200413084348.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值