为了账号安全,请及时绑定邮箱和手机立即绑定

Python3读写base64格式

标签:
Python

700

base64转换过程

这几天写web,需要将用户上传的图片,实时显示到前端页面,然后通过Jcrop裁剪,并将裁剪后的图片通过canvas实时显示到前端,最后将canvas显示的图片装换为base64格式,传到后端django,但pillow是无法直接读取base64格式的图片的,所以特地查阅了一些资料,发现python3内置了base64转换函数,这里分享一下使用方法...

import os, base64# 图片装换with open("./robot.png", "rb") as f:    # 将读取的二进制文件转换为base64字符串
    bs64_str = base64.b64encode(f.read())    # 打印图像转换base64格式的字符串,type结果为<class 'bytes'>
    print(bs64_str, type(bs64_str))    # 将base64格式的数据装换为二进制数据
    imgdata = base64.b64decode(bs64_str)    # 将二进制数据装换为图片
    with open("./robot2.png", "wb") as f2:
        f2.write(imgdata)

base64使用场景

对某些无关紧要的信息进行表面加密,也就是说不行让别人看到你明文传数据,但别人看到也是无所谓的(浏览器可以直接解析base64格式的图片文件)

base64加密文本

import os, base64# 文本简单加密bs64_my_time = base64.b64encode("真的羡慕你们这种18岁的,我还差15年呢!".encode("utf-8"))
print("bs64格式的文本(伪加密)",bs64_my_time)
my_time = base64.b64decode(bs64_my_time).decode("utf-8")
print("原文本:",my_time)

562

伪加密

base64图片在网页上的表现形式

<html><body><img class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="data:image/jpeg;base64,这里放的是base64编码" /></body></html>
# 使用正则从上面src中抽取base64格式的图片信息file = re.match(r"data:image/jpeg;base64,(.*)", file).group(1)



点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消