沈阳网站建设开发,如何增加网站索引量,99设计网站,成都网站建设常见问题图片的base64编码就是可以将一副图片数据编码成一串字符串#xff0c;使用该字符串代替图像地址。 这样做有什么意义呢#xff1f;我们知道#xff0c;我们所看到的网页上的每一个图片#xff0c;都是需要消耗一个 http 请求下载而来的。 没错#xff0c;不管如何#xf…图片的base64编码就是可以将一副图片数据编码成一串字符串使用该字符串代替图像地址。 这样做有什么意义呢我们知道我们所看到的网页上的每一个图片都是需要消耗一个 http 请求下载而来的。 没错不管如何图片的下载始终都要向服务器发出请求要是图片的下载不用向服务器发出请求而可以随着 HTML 的下载同时下载到本地那就太好了而base64正好能解决这个问题。 Base64 虽有优点但是缺点也很明显在使用上存在一些明显的缺陷。 是的使用Base64的好处是能够减少一个图片的 HTTP 请求然而与之同时付出的代价则是CSS文件体积的增大。 而CSS文件体积的增大意味着什么呢意味着 CRP 的阻塞。 CRPCritical Rendering Path关键渲染路径当浏览器从服务器接收到一个HTML页面的请求时到屏幕上渲染出来要经过很多个步骤。浏览器完成这一系列的运行或者说渲染出来我们常常称之为“关键渲染路径”。 通俗而言就是图片不会导致关键渲染路径的阻塞而转化为 Base64 的图片大大增加了CSS文件的体积CSS 文件的体积直接影响渲染导致用户会长时间注视空白屏幕。HTML和CSS会阻塞渲染而图片不会。
下面通过代码对对图片进行base64编码和解码
# -!- coding: utf-8 -!-#作者cacho_37967865
#博客https://blog.csdn.net/sinat_37967865
#文件baseModel.py
#日期2019-07-02
#备注图片进行base64编码解码
import base64
import osdef encode_base64(file):with open(file,rb) as f:img_data f.read()base64_data base64.b64encode(img_data)print(type(base64_data))#print(base64_data)# 如果想要在浏览器上访问base64格式图片需要在前面加上data:image/jpeg;base64,base64_str str(base64_data, utf-8) print(base64_str)return base64_datadef decode_base64(base64_data):with open(./images/base64.jpg,wb) as file:img base64.b64decode(base64_data)file.write(img)if __name__ __main__:img_path ./images/background.jpgbase64_data encode_base64(img_path)decode_base64(base64_data)
# 如果想要在浏览器上访问base64格式图片需要在前面加上data:image/jpeg;base64, 备注base64格式图片常用于尺寸较小、多处使用的、背景类图片。