Base64前世今生

一、背景

       早期的一些传输协议,例如传输邮件的SMTP协议,只能传输可打印的ASCII字符(ASCII码的范围是0~127)。导致原本8Bit字节码(范围是0~255)超出了可用范围。

       例如:当邮件传输图片资源的时候,某一个Byte是10111100B,对应的十进制数是188,不在ASCII码的范围内,因此无法被传输。此时,Base64编码应运而生,它利用6bit字符表示了原本的8bit字符,可以把ASCII码范围之外的字符转换成可打印的6bit字符。

二、Base64编码

2.1、名称由来

Base64 是一种编码算法,为什么叫Base64呢?因为它只支持64个可打印字符,Base64编码表如下图所示;

2.2、为什么是64?

ASCII码的范围是0~127,其中0~31和127这33 个字符属于控制字符,剩下的95个字符属于可打印字符,包含数组、字母大小写、常用符号。

64是2的6次方,n个二进制数被6位6位的等分。

如果选择7等分:2^7=128,没有那么多的可打印字符;如果选择5等分:2^=32,这样的话会有很多字符资源未使用,浪费资源。

2.3、原理

Base64是如何编码与解码的呢?

编码࿱

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值