Base64
what
Base64是一种基于64个可打印字符来表示二进制数据的表示方法。64个字符包括小写字母a-z、大写字母A-Z、数字0-9、符号"+"、"/"(再加上作为垫字的"=",实际上是65个字符)。Base64中"="字符并不在Base64编码索引表中,其意义在于结束符号,在Base64解码时遇到"="时即可知道一个Base64编码字符串结束。由于\(log_2 64\) = 6,所以每6个比特为一个单元,对应某个可打印字符。3个字节有24个比特,对应于4个Base64单元,即3个字节可由4个可打印字符来表示。
base64编码索引表:
demo
why
Base64是一种数据编码方式,目的是让数据符合传输协议的要求。比如我们常用发送邮件的SMTP协议,SMTP协议一开始是基于纯ASCII文本的,对于二进制文件(比如邮件附件中的图像、声音等)的处理并不好,通过Base64可以将图片等文件编码为文本,从而可以使用SMTP协议发送。不过后面开发出来的MIME标准可以编码二进制文件以使其通过SMTP来传输。今天,大多数SMTP服务器都支持8位MIME扩展,它使二进制文件的传输变得几乎和纯文本一样简单。
how
- HTML内嵌Base64编码图片,注意适用于较小图片
- 在API接口中通过文本形式输出二进制数据
- 在数据库保存二进制文件
- 防止数据在传输、存储、输出过程中被损坏
- 发送有附件的邮件