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编码索引表:
base64

demo

demo

why

Base64是一种数据编码方式,目的是让数据符合传输协议的要求。比如我们常用发送邮件的SMTP协议,SMTP协议一开始是基于纯ASCII文本的,对于二进制文件(比如邮件附件中的图像、声音等)的处理并不好,通过Base64可以将图片等文件编码为文本,从而可以使用SMTP协议发送。不过后面开发出来的MIME标准可以编码二进制文件以使其通过SMTP来传输。今天,大多数SMTP服务器都支持8位MIME扩展,它使二进制文件的传输变得几乎和纯文本一样简单。

how

  • HTML内嵌Base64编码图片,注意适用于较小图片
  • 在API接口中通过文本形式输出二进制数据
  • 在数据库保存二进制文件
  • 防止数据在传输、存储、输出过程中被损坏
  • 发送有附件的邮件

reference

posted @ 2020-07-11 22:54  whyly  阅读(208)  评论(0编辑  收藏  举报