介绍
图片在网络上,通常以二进制文件传输,但是可不可以用纯文本传输图片呢?答案是肯定的。
本文就简要介绍一下 Python 的 base64 库。它可以将图片转换成字符串,也可以从字符串“变出”一个图片来。
图片转成字符串,并保存至 json
首先我们假设有这么一个图片 tower.jpg,我们想把它保存成文本形式,放到一个 json 文件里,然后发送到一个服务器程序。
# 导入相关的库
from sys import argv
from base64 import b64encode
from json import dumps
ENCODING = 'utf-8' # 指定编码形式
SCRIPT_NAME, IMAGE_NAME, JSON_NAME = argv # 获得文件名参数
# 读取二进制图片,获得原始字节码,注意 'rb'
with open(IMAGE_NAME, 'rb') as jpg_file:
byte_content = jpg_file.read()
# 把原始字节码编码成 base64 字节码
base64_bytes = b64encode(byte_content)
# 将 base64 字节码解码成 utf-8 格式的字符串
base64_string = base64_bytes.decode(ENCODING)
# 用字典的形式保存数据
raw_data = {}
raw_data["name