python 图片转字符串的一种方法(非base64,不增加size)

python 图片转字符串的一种方法(非base64,不增加size)

引言: 做树莓派4g飞控图传一体机,实时画面图片需放进json跟随回传参数等同时提交到服务器,采用web方式,开始采用base64编码,结果传输负担增大33.333%,所以一直在找更优化的方案,偶然一次做项目开发,做通信的时候,发现decode(“ascii”)只能解0-127(b"\x00–\x7f"),而chr可以解0-255(b"\x00–\xff"),马上就想到了解决方案,特此记录。
(理论上此方案可用于所有文件不增大size的解码传输)

代码

f = open("img.jpg","rb")
# 读取文件
img = f.read()
f.close()

# 创建缓存
# =======================
# 解码
a = ""
for i in img :
    # 转换连接
    a += chr(i)
print(type(a))
print(len(a))
# ======================
# 编码
b = b''
for i in a :
    # 转换连接
    b += ord(i).to_bytes(length=1,byteorder="big")
print(type(b))
print(len(b))

f = open("res.jpg","wb")
f.write(b)
f.close()

运行结果

结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值