mysql 图片base64_关于图片的Base64编码
什么是Base64编码
Base64编码是一种图片处理格式,通过特定的算法将图片编码成一长串字符串,在页面上显示的时候,可以用该字符串来代替图片的url属性。
base64编码就是长得像下面这样子的代码:
thunder://QUFodHRwOi8vd3d3LmJhaWR1LmNvbS9pbWcvc3NsbTFfbG9nby5naWZaWg==
上面代码大家都熟悉吧,迅雷下载链接哦,就是base64编码后的地址,所以以后看到这种:一堆连续字母,最后有1~2个"="的代码就是base64。Base64编码并不只是用在图片处理上,还可以用在URL转换上,比如上述我们常见的迅雷以thunder开头的专用地址,就是通过Base64加密处理过后的URL地址。
base64:URL就是URL地址是base64编码的。
例如下面这个:
base64与文件数据编码
在网络中,通过HTTP传输的文件还可以通过base64对数据进行编码进行传输。就如上面的这个base64的gif格式图片。当然,可以base64编码的文件不仅仅是图片,也可以是字体文件,例如(中间有缺省):
@font-face{
font-family: forTest;
src: url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAh4 ... RFERuENEGADl7JlY=) format('woff');
}
自然,对于background-image图片,我们也可以使用base64编码进行传输,例如:
background-image:url(data:image/gif;base64,R0lGODlhBAABAIABAMLBwfLx8SH5BAEAAAEALAAAAAAEAAEAAAICRF4AOw==);
使用base64:URL的优缺点
base64:URL传输图片文件的好处在于:
1减少了HTTP网络请求。
我们都知道,网页上的图片资源如果采用http形式的url的话都会额外发送一次请求,网页发送的http请求次数越多,会造成页面加载速度越慢。而采用Base64格式的编码,将图片转化为字符串后,图片文件会随着html元素一并加载,这样就可以减少http请求的次数,对于网页优化是一种比较好的手段。
2采用Base64编码的图片是随着页面一起加载的,不会造成跨域请求的问题。
3没有图片更新要重新上传,不会造成清理图片缓存的问题
不足在于:
1 浏览器支持
使用base64编码图片作为背景图片的这种技术IE6/IE7浏览器是不支持的(IE9浏览器IE7模式下支持)。对于目前PC页面,兼容性问题使没有文件上传以及无需更新缓存的优点不存在了。
2 增加了CSS文件的尺寸
当我们将一个只有几KB的图片转化为Base64格式编码,生成的字符串往往会大于几KB,如果将其写在一个css文件中,这样一个css文件的大小会剧增,造成代码可读性差不说,还会造成请求传输的数据量递增。
3 造成数据库数据量的增大
如果我们将Base64位的编码的图片存入数据库中,会造成数据库数据量的增大,这样的效果还不如将图片存至图片服务器,而只在数据库中存入url字段。
何时使用
分析了Base64编码的优劣,那么我们该如何正确的使用Base64编码呢?这里总结出使用Base64编码的几个地方。
这类图片不能与其他图片以CSS Sprite的形式存在,只能独行
这类图片从诞生之日起,基本上很少被更新
这类图片的实际尺寸很小
这类图片在网站中大规模使用
对于极小或者极简单的图片,例如只有几像素的图片,不用考虑跨域问题也不想页面的图片缓存,果断用base64。
mysql 图片base64_关于图片的Base64编码相关推荐
- java解码base64的png图片_使用PHP对图片进行base64编码和解码(png、jpg,声音、视频)...
为什么要对图片base64编码 base64是网络上最常见的传输8Bit字节代码的编码方式之一.base64主要不是加密,它主要的用途是把一些二进制数转成普通字符用于网络传输.由于一些二进制字符在传输 ...
- Js 将图片的绝对路径转换为base64编码(3)
图片文件改变一方法:$('#file').change(function(){var oFReader = new FileReader();oFReader.readAsDataURL(this.f ...
- [转载] python程序所需的图片通过base64编码成字符串放在代码中
参考链接: 在Python中编码和解码Base64字符串 问题背景 python代码打包成exe可执行文件.问题是这个python程序执行时需要显示一张图片,这就意味着打包成exe后,也需要在exe同 ...
- Java中将base64编码字符串转换为图片
前一段时间,在做摄像头拍照上传,摄像头拍的照片为base64编码格式的字符串,需要上传至项目中,则需要使用到将base64编码字符串转换为图片 1.将base64编码字符串转换为图片的代码如下 Ima ...
- 图片压缩处理以及网络图片转base64编码工具类
一.需求分析 在项目中,需要对本地的图片进行缩放处理(按指定长宽缩放等),方便前端展示缩略图,获取更快的页面加载速度.另外就是针对网络上的图片需要进行base64编码处理(如百度信息流的图片上传需要对 ...
- Java解析Base64编码为图片
创建工具类 在转换前需要对base64编码进行处理,把头部信息去掉,根据不同的图片格式而不同 data:image/png;base64为png格式的图片.其他格式的base64编码需要进行相对应的改 ...
- python验证码,python将PIL生成的图片进行base64编码并返回给前端浏览器
我用python的PIL生成了验证码图片,需要将图片返回给前端浏览器,有两种返回方式.一种是返回response,另一种是将图片进行base64编码后返回. 注意:PIL生成验证码图片时,需要传入fo ...
- 将图片和音频转换成base64直接在HTML中使用
import sun.misc.BASE64Encoder; import java.io.File; import java.io.FileInputStream; import java.io.I ...
- 了解Base64编码解码
我们经常说Base64,那Base64到底是什么呢? Base64是一种基于64个可打印字符来表示二进制数据的表示方法,常用于在通常处理文本数据的场合,表示.传输.存储一些二进制数据,会将不便于查看的 ...
最新文章
- MySQL必知必会(使用子查询)
- Java分享笔记:自定义枚举类 使用enum关键字定义枚举类
- Coin98 Finance获Alameda Research 400万美元投资
- 软件项目经理的心得和经验总结
- JavaScript实现拖动滑块拼图验证(html5、canvas)
- flash在线拍照并上传
- Inno Setup 6.0.3+ 简体中文语言包
- win10添加组策略命令
- 【编程|二十四点】关于编程解决二十四点的两种思路
- 美团面试被问“红黑树”,我一脸懵逼......
- GDB 的几个用法(until, finish, tui)
- Apple iPhone
- 【19C】logmnr参考
- Hexo Butterfly 主题功能拓展 - 标签云 云养猫
- 信创终端之Linux桌面系统:原生桌面 vs 定制魔改
- 使用FFmpeg合并MP4视频
- 如何阅读机器学习论文
- linux查看内存命令(查看进程虚拟内存)free命令、vmstat命令、pmap命令(free指令、vmstat指令、pmap指令)
- 哔哩哔哩视屏下载的几种方法
- 谈网站域名,备案到上线
热门文章
- 受保护的属性无法直接读取
- Linux开机运行应用程序
- Simple IOCP Server代码解读
- 每个大数据工程师都应该知道的OLAP 核心知识点
- Redis源码分析之小型测试框架testhelp.h和redis-check-aof.c日志检测
- 深入MTK平台bootloader启动分析笔记
- 你知道嵌入式,那你看过这个吗?
- 分号是不是c语言的一部分,问什么C程序里总是提示缺少分号;,而明明有分号?...
- oracle trigger 延迟执行_一文详解Spring任务执行和调度
- 三包围结构的字是什么样的_拼音带kun的字大全_50个拼音含kun的字组词