# encoding:utf-8
import matplotlib.pyplot as plt
import cv2
from io import BytesIO
import base64
# 二进制读取图片,再将图片转为 base64 类型的字符串
with open('coin.jpg', 'rb') as fin: #第一个参数为图片全路径或相对路径
print('二进制类型')
image_data = fin.read()
# 图片:二进制类型
print(image_data)
# 将二进制图片编码为 base64 格式
print('二进制类型--转--bytes类型')
base64_data_bytes = base64.b64encode(image_data)
# 图片:bytes类型
print(base64_data_bytes)
# 在Python3以后,字符串和bytes类型彻底分开了。字符串是以字符为单位进行处理的,bytes类型是以字节为单位处理的。
# 在 Python3 中,bytes和str的互相转换方式是
# str.encode('utf-8') bytes.decode('utf-8')
print('bytes类型--转--str类型')
base64_data_str= base64_data_bytes.decode()
# 图片:str类型
print(base64_data_str)
#####################################