编码后的内容,可以在浏览器中直接打开,提示:先去掉回车

data类型的Url大致有下面几种形式

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图片数据

Python3代码

# -*- coding: utf-8 -*-import base64
import re
import uuiddef decode_image(src):"""解码图片:param src: 图片编码eg:src="data:image/gif;base64,R0lGODlhMwAxAIAAAAAAAP///yH5BAAAAAAALAAAAAAzADEAAAK8jI+pBr0PowytzotTtbm/DTqQ6C3hGXElcraA9jIr66ozVpM3nseUvYP1UEHF0FUUHkNJxhLZfEJNvol06tzwrgdLbXsFZYmSMPnHLB+zNJFbq15+SOf50+6rG7lKOjwV1ibGdhHYRVYVJ9Wnk2HWtLdIWMSH9lfyODZoZTb4xdnpxQSEF9oyOWIqp6gaI9pI1Qo7BijbFZkoaAtEeiiLeKn72xM7vMZofJy8zJys2UxsCT3kO229LH1tXAAAOw==":return: str 保存到本地的文件名"""# 1、信息提取result = re.search("data:image/(?P<ext>.*?);base64,(?P<data>.*)", src, re.DOTALL)if result:ext = result.groupdict().get("ext")data = result.groupdict().get("data")else:raise Exception("Do not parse!")# 2、base64解码img = base64.urlsafe_b64decode(data)# 3、二进制文件保存filename = "{}.{}".format(uuid.uuid4(), ext)with open(filename, "wb") as f:f.write(img)return filenamedef encode_image(filename):"""编码图片:param filename: str 本地图片文件名:return: str 编码后的字符串eg:src="data:image/gif;base64,R0lGODlhMwAxAIAAAAAAAP///yH5BAAAAAAALAAAAAAzADEAAAK8jI+pBr0PowytzotTtbm/DTqQ6C3hGXElcraA9jIr66ozVpM3nseUvYP1UEHF0FUUHkNJxhLZfEJNvol06tzwrgdLbXsFZYmSMPnHLB+zNJFbq15+SOf50+6rG7lKOjwV1ibGdhHYRVYVJ9Wnk2HWtLdIWMSH9lfyODZoZTb4xdnpxQSEF9oyOWIqp6gaI9pI1Qo7BijbFZkoaAtEeiiLeKn72xM7vMZofJy8zJys2UxsCT3kO229LH1tXAAAOw==""""# 1、文件读取ext = filename.split(".")[-1]with open(filename, "rb") as f:img = f.read()# 2、base64编码data = base64.b64encode(img).decode()# 3、图片编码字符串拼接src = "data:image/{ext};base64,{data}".format(ext=ext, data=data)return srcif __name__ == '__main__':# 下载百度首页logo保存到本地 baidu.png# https://www.baidu.com/img/bd_logo1.png# 编码测试print(encode_image("baidu.png"))# src = "data:image/png;base64,iVBORw0KGgoAAAA..."# 解码测试# print(decode_image(src))

参考
python解码data:image开头的图片地址

Python:data:image/png;base64图片编码解码相关推荐

  1. Base64图片编码的使用

    一.base64编码介绍 二.base64图片使用介绍 三.base64图片编码大小与原图文件大小之间的联系 四.代码实现 一.base64编码介绍 Base64是网络上最常见的用于传输8Bit字节代 ...

  2. base64图片编码大小与原图文件大小之间的联系

    base64图片编码大小与原图文件大小之间的联系 有时候我们需要把canvas画布的图画转换成图片输出页面,而用canvas生成的图片就是base64编码的,它是由数字.字母等一大串的字符组成的,但是 ...

  3. php代码在线base64解码,Base64在线编码解码实现代码 演示与下载

    在线演示地址: gb2312版本 http://tools.jb51.net/tools/base64_decode-gb2312.php utf8版本 http://tools.jb51.net/t ...

  4. Java中使用Base64进行编码解码的工具类-将验证码图片使用Base64编码并返回给前端

    场景 前端使用Vue,验证码图片的src属性来自于后台SpringBoot接口. 后台验证码接口生成验证码图片并将其使用Base64进行编码. 前端就可以直接使用 data:image/png;bas ...

  5. C# base 64图片编码解码

    使用WinForm实现了图片base64编码解码的 效果图: 示例base 64编码字符串: /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKD ...

  6. C# Base64图片编码和解码

    Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法.可查看RFC2045-RFC2049,上面有MIME的详细规范. Ba ...

  7. base64 图片在线解码/编码

    http://imgbase64.duoshitong.com/ 转载于:https://www.cnblogs.com/xuchangqi1/p/9816791.html

  8. Android Base64图片的解码

    在平时的开发过程中,常常会遇到这样的情况,有一些琐碎的小图片文件无处安放,这时,便可以用到Base64来帮助我们解决这个问题. 使用图片转Base64工具,便可以得到该图片的Base64编码,一大串字 ...

  9. 性能测试初学_loadrunner base64/md5 编码 解码

    参考这3篇文章: MD5: http://bbs.51testing.com/forum.php?mod=viewthread&tid=1111323 base64: http://www.c ...

最新文章

  1. 激光SLAM如何帮助自动驾驶准确定位和建图?
  2. SSH远程管理(用户登录控制及密码验证)
  3. 自学python需要安装什么软件-零基础入门Python怎么学习?老男孩python用什么软件...
  4. Weka加载大数据量内存不足的解决办法
  5. 女生做大数据有发展前景吗?能学会吗?
  6. ASP.NET 安全认证(四)
  7. python二维表转一维表_二维表格转换成一维表格
  8. Python中的顺序表介绍
  9. 嘿嘿,我就不信搞不定你--Dynamo
  10. 企业做网络推广关键词设置的几点个人看法
  11. 自动定位失败_自动化测试01
  12. Python入门--列表元素的修改
  13. MySQL将一张表的某些列数据,复制到另外一张表,并且修改某些内容
  14. php 音乐歌词xml,一篇文章玩转全网音乐信息库MusicBrainz API
  15. 启发式搜索之八皇后问题
  16. 网络状态检测的利器 - ss命令
  17. docker安装,阿里云镜像配置
  18. Tomb.finance每周更新(11.8-14)
  19. Loadrunner安装破解
  20. 20155318 《Java程序设计》实验四 (Android程序设计)实验报告

热门文章

  1. 2021下半年系统集成项目管理师客观题参考答题解析(3)
  2. filebrowser实现私有网盘
  3. 自动取款机如何使用无卡取款_无卡取款怎么操作
  4. SDRAM突发读写注意
  5. 成功的 Git 分支模型
  6. 数学建模:微分方程模型—常微分方程数值解算法及 Python 实现
  7. 大数据分析师与数据分析师_非分析师的数据分析
  8. gnss、gps、imu、rtk、ins区分及含义
  9. 【调度】一个著名的任务调度系统是怎么设计的?
  10. #边学边记 必修4 高项:对事的管理 第5章 项目成本管理 之 项目成本估算