使用图片 base64 编码的优点和缺点

base64编码是一种图片处理格式,通过特定的算法将图片编码成一长串字符串,在页面上显示的时候,可以用该字符串来代替图片的
url属性。

使用base64的优点是:

(1)减少一个图片的HTTP请求

使用base64的缺点是:

(1)根据base64的编码原理,编码后的大小会比原文件大小大1/3,如果把大图片编码到html/css中,不仅会造成文件体
积的增加,影响文件的加载速度,还会增加浏览器对html或css文件解析渲染的时间。

(2)使用base64无法直接缓存,要缓存只能缓存包含base64的文件,比如HTML或者CSS,这相比域直接缓存图片的效果要
差很多。

(3)兼容性的问题,ie8以前的浏览器不支持。

一般一些网站的小图标可以使用base64图片来引入。

原文链接

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
使用Hutool将Base64编码转换为图片的代码如下: ```java import cn.hutool.core.codec.Base64; import cn.hutool.core.io.FileUtil; public class Base64ToImage { public static void main(String[] args) { // Base64编码字符串 String base64Str = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAKwAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAJgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAIwAAJgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAHgAAIwAAJgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAHAAAHgAAIwAAJgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAHAAAFAAAHgAAIwAAJgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAHAAAAAAAFwAAHgAAIwAAJgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAMgAAHAAAAAAAFwAAHgAAHAAAFAAAFAAAFAAAFAAAFAAAFAAAFAAAFAAAFAAAFAAAFAAAFAAAFAAAFAAAFAAAFAAAFAAAFAAAFwAA"; // 去掉Base64编码字符串中的前缀 String base64 = base64Str.substring(base64Str.indexOf(",") + 1); // 将Base64编码字符串解码为字节数组 byte[] bytes = Base64.decode(base64); // 将字节数组写入图片文件 FileUtil.writeBytes(bytes, "test.png"); } } ``` 其中,使用`Base64.decode()`方法将Base64编码字符串解码为字节数组,然后使用`FileUtil.writeBytes()`方法将字节数组写入图片文件。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

请叫我大豆包

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值