将图片转换成base64再转成utf-8的作用

将图片转换成base64再转成utf-8的作用(作为个人笔记保存)

from PIL import Image
from io import BytesIO
import base64

img = Image.open(file_name) # 访问图片路径
img_buffer = BytesIO()
img.save(img_buffer, format=img.format)
byte_data = img_buffer.getvalue()
base64_str = base64.b64encode(byte_data) # bytes
base64_str = base64_str.decode("utf-8") # str

先将图片数据转换成字节串,然后将这个自己串以base64的编码(每3个字节转换成4个字节)形式进行编码,编码后依旧是字节串的形式(一般情况下我们都是对字符串进行字节编码,但是这里是对字节串进行字节编码,要注意区分),再以utf-8的形式进行解码得到字符串。这样我们就成功的将图片二进制数据转换成了字符串了,然后存储下来。这样的文件就可以在大部分协议中进行传输了。
对应的解码成图片数据就应该是

base64_binary = base64_str.encode("utf-8")
image = Image.open(BytesIO(base64.urlsave_b64decode(base64_binary)))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值