BASE64编码

l BASE64 编码规则将一组连续的字节数据按 6 bit 位进行分组,然后对每组数据用一个 ASCII 字符来表示。 6 bit 位最多能表示 2 6 64 个数值,因此可以使用 64 ASCII 字符来对应这 64 个数值,这 64 ASCII 字符为:

  "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"

l 计算 [0110,0001][0110,0010] [0110,0011] BASE64 编码

  [0110,0001][0110,0010] [0110,0011]à[0110,00] [01,0110,][0010,01] [10,0011]

  [0110,00][01,0110,] [0010,01] [10,0011]à[24]10 [22]10 [9]10 [35]10

  [24]10 [22]10 [9]10 [35]10à"YWJj"

l BASE64 编码要求把 3 8 位字节(即 24 bit )的数据转化为 4 6 位字节(也是 24 bit )的数据,如果原来的 8 位字节数据的字节个数不能被 3 整除,那么如何对余下的 1 个或 2 8 位字节数据进行处理呢?

  仍然按6bit位对剩余的字节进行分组,在最后不够6bit位的内容后面添加几个为0bit位来凑成6bit位,例如,[0110,0001]à[0110,00] [01,0000

l 如果编码后的整个结果文本的字符个数不是 4 的整数倍,那么需要在最后填充“ =” 字符来凑成 4 的倍数。 
l 经过 BASE64 编码后的结果所占用的字节个数大约是原始内容的 4/3 倍,计算公式为:编码后的大小 = (( 原始大小 +2)/3)*4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值