Base64

Base64 指的是大写字母A到Z、小写字母a到z、数字0到9、符号"+“和”/"这64个字符,这64个字符作为一个基本字符集。然后其他所有符号都转换成这个字符集中的字符。
Base64 的转换方式可以分为四步:

  1. 将每三个字节作为一组,一共是24个二进制位;
  2. 将这24个二进制位分为四组,每个组有6个二进制位;
  3. 在每组前面加两个00,四组就一共扩展8个二进制位,一共就是32个二进制位,即四个字节;
  4. 根据下表,得到扩展后的每个字节的对应符号,这就是Base64的编码值。
    在这里插入图片描述
    Base64要求把每三个8bit的字节转换为四个6bit的字节(3 * 8 = 4 * 6 = 24),然后把6bit再添两位高位0,组成四个8bit的字节,也就是说,转换后的字符串理论上要比原来的长1/3。

Base64是用于传输8bit字节代码的编码方式之一,Base64编码可用于在Http环境下传输较长的标识信息。在其它应用程序中,也常常需要把二进制数据编码为适合放在URL中的形式,此时,采用Base64编码不仅比较简短,同时也具有不可读性,即所编码的数据不会被人用肉眼直接看到。
标准的Base64不适合直接放在URL里传输,因为URL编码器会把标准Base64中的"+“和”/“字符变为如”%XX"的形式,而这些”%“号在存入数据库时还需要再进行转换,因为ANSI SQL中已将"%“号用作通配符。
为解决此问题,可采用一种用于URL的改进Base64,它不在末尾填充”=“号,将标准Base64中的”+“和”/“分别改成了” * ”和" - ",这样就免去了在URL编解码和数据库存储时所要做的转换,避免了编码信息长度在此过程中的增加,并统一了数据库、表单等对象标识符的格式。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值