base64格式

简介

Base64最初是在“MIME内容传输编码规范”中提出。是一种“二进制到文本”的编码方法,它能够将给定的任意二进制数据转换(映射)为ASCII字符串的形式,以便在只支持文本的环境中也能够顺利地传输二进制数据。

实现原理

Base64是用文本表示二进制的编码方式,它使用4个字节的文本来表示3个字节的原始二进制数据。

base64的所用字符:

A-Z
a-z
0-9
+
/

base64作用

常用于网络传输,在某些基于文本的协议中,如果需要传输图片或者文件等,我们知道图片的存储格式是二进制数据,而非文本格式,我们必须将二进制的数据编码成文本格式,这时候Base64就派上用场了。

另外,由于某些系统中只能使用ASCII字符。Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法。

Base64编码之后往往比原始数据要大,所以它并没有压缩数据。

base64加解密

Base64不是一种加密算法,但实际上我们确实可以利用Base64来加密数据。我们都知道,加密就是将明文变为密文的过程。在这个过程中起关键作用的一是算法,二则是密钥。算法相当于制造工艺或加工过程,而密钥则是配方。制造工艺可以公开,但配方必须保密,否则人人都能进行数据处理。Base64的配方就是字符集。选用的字符集不同,甚至只是改变一下字符集中字符的顺序(编号),相同的加工过程就会生成不同的Base64编码。

不使用base64作为加解密工具原因:

  1. 开发Base64的目的就不是为了加密,而是为了方便在文本环境中传输二进制数据;
  2. 与开发一个加密算法不同,安全性并不是Base64的目标,只是它的一个副产物。实际上,Base64的安全性是非常差的,这就是在实际应用中不用它加密的原因。有一种古老的加密方法,称为“字符替换法”。即指定一个规则,将每个字符用其他字符替换,例如将a变为c、b变为d等,这样替换后生成的结果就是密文。解密时只需要反过来操作,将c变为a、将d变为b就可以了。用不同的替换规则加密,生成的密文也不同。用Base64来加密实际上就相当于字符替换,只不过它先对字节做了一些变换,然后再进行替换,对加密过程来说,本质上是一样的。

使用场景

我们都知道图片在网页中的使用方法通常是使用 img 标签的形式,而 img 标签的 src 属性会指定一个远程服务器上的资源。在网页加载到浏览器中时,浏览器会针对每个外部资源都向服务器发送一次拉取资源请求。但是这是非常占用网络资源的,而且因为大多数浏览器都有并发请求数的限制,如果你的网页中嵌入了过多外部请求,就很容易出现页面加载速度过慢的情况。而 Base64 编码可以通过 Data URL 技术让图片以字符串的格式直接嵌入页面,与 HTML 成为一体。这样在加载时就可以避开对外部资源的请求。

优势:

  1. 减少 HTTP 请求;
  2. 避免跨域问题;
  3. 可像单独图片一样使用,比如背景图片重复使用等。

缺点:

  1. Base64 编码的数据体积通常是原数据的体积 4/3,也就是 Data URL 形式的图片会比二进制格式的图片体积大 1/3,所以它仅适用于小图片
  2. Data URL 形式的图片不会被浏览器缓存

在线转换工具:图片在线转换Base64,图片编码base64

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值