鱼C论坛

 找回密码
 立即注册
查看: 1185|回复: 3

[已解决]什么是图片头,如何查看某张图片的图片头,如何删除图片头?

[复制链接]
发表于 2020-1-4 11:18:53 | 显示全部楼层 |阅读模式
66鱼币
什么是图片头,如何查看某张图片的图片头,如何删除图片头?谢谢!
图片头.PNG
最佳答案
2020-1-4 11:18:54
  1. import base64
  2. import re
  3. import uuid

  4. def decode_image(src):
  5.     result = re.search("data:image/(?P<ext>.*?);base64,(?P<data>.*)", src, re.DOTALL)
  6.     if result:
  7.         ext = result.groupdict().get("ext")
  8.         data = result.groupdict().get("data")

  9.     else:
  10.         raise Exception("Do not parse!")

  11.     img = base64.urlsafe_b64decode(data)

  12.     filename = "{}.{}".format(uuid.uuid4(), ext)
  13.     with open(filename, "wb") as f:
  14.         f.write(img)

  15.     return filename

  16. def encode_image(filename):

  17.     ext = filename.split(".")[-1]

  18.     with open(filename, "rb") as f:
  19.         img = f.read()

  20.     data = base64.b64encode(img).decode()

  21.     src = "data:image/{ext};base64,{data}".format(ext=ext, data=data)
  22.     return src

  23. if __name__ == '__main__':
  24.     print(encode_image("test.jpg"))

  25.     # src = "data:image/jpg;base64,/9j/4SCnRXhpZgA...="
  26.     # print(decode_image(src))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-1-4 11:18:54 | 显示全部楼层    本楼为最佳答案   
  1. import base64
  2. import re
  3. import uuid

  4. def decode_image(src):
  5.     result = re.search("data:image/(?P<ext>.*?);base64,(?P<data>.*)", src, re.DOTALL)
  6.     if result:
  7.         ext = result.groupdict().get("ext")
  8.         data = result.groupdict().get("data")

  9.     else:
  10.         raise Exception("Do not parse!")

  11.     img = base64.urlsafe_b64decode(data)

  12.     filename = "{}.{}".format(uuid.uuid4(), ext)
  13.     with open(filename, "wb") as f:
  14.         f.write(img)

  15.     return filename

  16. def encode_image(filename):

  17.     ext = filename.split(".")[-1]

  18.     with open(filename, "rb") as f:
  19.         img = f.read()

  20.     data = base64.b64encode(img).decode()

  21.     src = "data:image/{ext};base64,{data}".format(ext=ext, data=data)
  22.     return src

  23. if __name__ == '__main__':
  24.     print(encode_image("test.jpg"))

  25.     # src = "data:image/jpg;base64,/9j/4SCnRXhpZgA...="
  26.     # print(decode_image(src))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-1-6 11:00:20 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-1-6 11:01:46 | 显示全部楼层
搜索关键字“PNG文件格式详解”、“JPG文件编解码详解”
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-5 05:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表