在网页中嵌入Base64编码文件

简介:

大家可能注意到了,网页上有些图片的src或css背景图片的url后面跟了一大串字符,比如:data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAYAAABIdFAMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHhJREFUeNo8zjsOxCAMBFB/ KEAUFFR0Cbng3nQPw68ArZdAlOZppPFIBhH5EAB8b+Tlt9MYQ6i1BuqFaq1CKSVcxZ2Acs6406KUgpt5/ LCKuVgz5BDCSb13ZO99ZOdcZGvt4mJjzMVKqcha68iIePB86GAiOv8CDADlIUQBs7MD3wAAAABJRU5ErkJggg%3D%3D。那么这是什么呢?这是Data URI scheme。
Data URI scheme是在RFC2397中定义的,目的是将一些小的数据,直接嵌入到网页中,从而不用再从外部文件载入。比如上面那串字符,其实是一张小图片,将这些字符复制黏贴到火狐的地址栏中并转到,就能看到它了,一张1X36的白灰png图片。
在上面的Data URI中,data表示取得数据的协定名称,image/png 是数据类型名称,base64 是数据的编码方法,逗号后面就是这个image/png文件base64编码后的数据。
目前,Data URI scheme支持的类型有:
data:,文本数据
data:text/plain,文本数据
data:text/html,HTML代码
data:text/html;base64,base64编码的HTML代码
data:text/css,CSS代码
data:text/css;base64,base64编码的CSS代码
data:text/javascript,Javascript代码
data:text/javascript;base64,base64编码的Javascript代码
data:image/gif;base64,base64编码的gif图片数据
data:image/png;base64,base64编码的png图片数据
data:image/jpeg;base64,base64编码的jpeg图片数据
data:image/x-icon;base64,base64编码的icon图片数据
base64简单地说,它把一些 8-bit 数据翻译成标准 ASCII 字符,网上有很多免费的base64 编码和解码的工具,在PHP中可以用函数base64_encode() 进行编码,如echo base64_encode(file_get_contents(‘wg.png’));
目前,IE8、Firfox、Chrome、Opera浏览器都支持这种小文件嵌入。
举个图片的例子:
网页中一张图片可以这样显示:

<img  src= “http://www.letuknowit.com/images/wg.png” />

也可以这样显示:

<img src= “data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAYAAABIdFAMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHhJREFUeNo8zjsOxCAMBFB/KEAUFFR0Cbng3nQPw68ArZdAlOZppPFIBhH5EAB8b+Tlt9MYQ6i1BuqFaq1CKSVcxZ2Acs6406KUgpt5/LCKuVgz5BDCSb13ZO99ZOdcZGvt4mJjzMVKqcha68iIePB86GAiOv8CDADlIUQBs7MD3wAAAABJRU5ErkJggg%3D%3D” />

我们把图像文件的内容直接写在了HTML 文件中,这样做的好处是,节省了一个HTTP 请求。坏处呢,就是浏览器不会缓存这种图像。

在线转换为Base64编码网站:

http://www.motobit.com/util/base64-decoder-encoder.asp

http://www.vgot.net/test/image2base64.php

 

作者:白树

出处:http://peunzhang.cnblogs.com/

目录
相关文章
|
设计模式 缓存 编译器
【C++ 元对象系统03】深入探索Qt反射:从原理到实践
【C++ 元对象系统03】深入探索Qt反射:从原理到实践
757 5
|
6月前
|
机器学习/深度学习 自然语言处理 数据可视化
⼤模型驱动的DeepInsight Copilot在蚂蚁的技术实践
本文整理自潘兰天(蚂蚁数据智能团队数据分析平台技术专家)在DA数智大会2025·上海站的演讲实录。
|
10月前
|
XML JSON 前端开发
HTTP协议,Content-Type格式介绍篇
通过理解和正确使用Content-Type头字段,可以确保数据在网络上传输时的正确性和高效性,提升网络应用的可靠性和用户体验。
876 25
|
机器学习/深度学习 算法 文件存储
【博士每天一篇文献-算法】 PNN网络启发的神经网络结构搜索算法Progressive neural architecture search
本文提出了一种名为渐进式神经架构搜索(Progressive Neural Architecture Search, PNAS)的方法,它使用顺序模型优化策略和替代模型来逐步搜索并优化卷积神经网络结构,从而提高了搜索效率并减少了训练成本。
309 9
|
消息中间件 监控
异步处理和消息队列的结合使用
异步处理和消息队列的结合使用
|
弹性计算 SEO
为什么说阿里云99元服务器是性价比之王?原因有6点
阿里云99元服务器ECS经济型e实例堪称性价比之王, 2核2G配置、3M固定带宽、40G ESSD Entry系统盘。特点:新老用户可购, 续费同价; 不限流量; 独立公网IP; 固定带宽无竞争; 不限制CPU性能。
656 0
|
存储 NoSQL 算法
带你读《2022龙蜥社区全景白皮书》——5.5.1 利用io_uring提升数据库系统性能
带你读《2022龙蜥社区全景白皮书》——5.5.1 利用io_uring提升数据库系统性能
349 60
|
机器学习/深度学习 人工智能 监控
机器视觉:原理、应用与实现
机器视觉:原理、应用与实现
416 1
|
人工智能 自然语言处理 安全
“智海-录问”法律大模型正式发布并开源在魔搭社区,行业首个法律大模型评估指标体系公开
8月21日,由中国工程院院刊《Engineering》、中国人工智能学会、中国工程院院刊信息与电子工程领域分刊《FITEE》联合主办的Engineering大讲堂暨“智行中国”第五期系列论坛在浙江大学举行,论坛围绕基座模型基础理论、AI+X垂直领域赋能应用及基座模型评测体系等问题邀请领域专家展开了深入探讨。
|
算法
卷积码编码器的结构与表示
卷积码编码器的结构与表示
11504 1
卷积码编码器的结构与表示