base64转为图片
1.常用方法介绍
- base64.b64decode()将base64编码的bytes类型进行解码,返回解码后的bytes类型
- base64.b64encode()将bytes类型数据进行base64编码,返回编码后的bytes类型
- decode的作用是将其他编码的字符串转换成unicode编码
- encode的作用是将unicode编码转换成其他编码的字符串
2.编码实现
image_base
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAA8CAIAAABuCSZCAAAKd0lEQVR4nO2cy29bRRuHn2PHdnw9jmM7vuTiJq1DL2lpm1sFVQoFSishITYIUQlUwQ6xYsGfwJIFQgixQLBiQUECoUotBalRWzUtLaQhl+aexo0dO7ZjO7bjxP4Woy8yuaf93C82fpRFczrznjPnd2bemfediZTL5ShTuij+3w9QprCUBS5xygKXOGWBS5yywCVOWeASpyxwiVMWuMQpC1zilAUuccoClzhlgUucssAlTkUhjGbJhggFCc4xt6OKRozVVFuxqlCtsiAhVVMtfiSkze0kSQYJhgglSIgrlVQKywYM+SVz5NKkY8SiRBMkFllcZhmooEKDRo/eiNGAQYNG8c/OkCUbJBgkGCa8ozauRYvWirWaaj36JzS1loIInCM3zfSnfDrM8I4qOnG+xVsv8VIFFassSEiNNH7Ih3r0WrSb2wkTvsSli1yMERNXZORXeOVN3swXeIGFIMFJJu9xb5hhH7555lOkFCi0aKuocuDw4PHideO2YpWRNWjE57XM8jjjn/HZKKM7auNaLFjOce4N3igagbNkAwT66b/FrR1V9OLtoitNWot2lQUJaYaZoxx1495c4AyZGWZ+4ZfrXJ9nXlysocaLN05c/JojFyEywcTP/HyVqz58ESIJEmnSWbL8swdXUdVMcxddz/N8HXXi7qKNf/P3He7s9P2swo37EIcWWHhCO+tSEIHzUaCwYrViraJqy8JOnC5cGjT5F1cG5CDBHnpOc9qGTYlyIyNx4v30jzCywIKom2P1poYIkX76P+fzG9zw419iyYChhhojRnH3JZYSJKJEp5meYGKIoVFGlSht2ITAChR27Ac4UEnluo8RJSrcRIaMGbNwEBXrvXALlnrqdei2fD+PQcEFVqL04PmADxpp3LKw8MGrBFah0qBZYilJcoCBEUYaaDBhWtdCjlyIUA89AQIqVFq0omJ+mSTJSSa/4Ivf+G2WWR26euo76DjK0TrqTJiUKOPE/fiHGPqTP0cZnWU2QCBIME06v10f8/FGPniSya/46gY3MmRk5Atc6KBj3a9B+OBCjM88nR5sx76f/a20br9WhszKv1Wo6qlPk/bj9+PvoedZnt1I4BSpaabvcneeeRnZg2eMsVUChwlf5vJNbgYI6NF78V7gwnM8Z8cu5lPk9WA//tvcvsKVJEkDhpXhRLTLjn2jJpgwOXGqUCVJmjE30dRBx6op3lOg4AI/ORVUiFd5k5tBgne48xqvuXCpUa8tHCX6B3/48ElILlxHOBIi5Me/UmCZ5QCBbrpnmMmRs2N/m7fPcU6IkX9TMfF2497Dnk46++hz4NhoQN61FIHAQBVVrbSOM+7HP8lkL7172WvFuqqYEK+HniBBGfkYx9Z69EUWp5jy4VtgQY16L3s76HDgyFc3Hw0aBw4ZeR/7gKITuDgCHVq0DTS00GLAMMtsDz2zzIrpbj4JEsMMDzCQImXH3k772kXzIoshQkmSyyxr0Ainu+5gsOoBzJjNmFd9Lruf4hBYgcKGrZ12G7Y48V56p5ha5VmBOebE9Ep0zWaa1/q8LNk0aRHNkJAURfIGHpuiaZ4RYwstddQpUc4wc5vbESL5BdKkH/HoDnciRKqpbqPNjn3tskSJUotWXF9k8RGPEiTy53QlRtEIrEbtwNFKqxmz6Kli/bpSYJ75v/hriqksWSfO4xw3Y15rR4PGiVOPvoKKNOkBBm5xy4cvRerpNeYpUvBJ1kpUa2UFuREqVCIaICOv/V8JyYKljbZLXAoRGmV0gIFGGoWKWbIrvtmA4QhHVkJOa+/ixr2PfQ94ICbYX/N1nPhJTtqxy8jrRp6Ll4ILLGK2n/DJlpEsLdoTnHiP99YVGNCjb6LpGZ4ZY0zMlttpl5ElpAUWJpjopTdBopHGVlqtWNfNSQh3/iqv3ud+ilSU6CCDX/LlFa600LKXvfXU27AZMBgxysg6dBtNsIuCp9SDAwS2LGnCVENNlOhGBUSksI02Maje5a4PXy21lVSGCd/mth9/BRUePC20GDFuNOqaMXfSeZ7z3/DNJJPzzI8zPsNML70ysgg+11LbQEMTTV68TpwWLHr0W2axdiG7KBatRdtI40bdV2DGfIxjbtw+fELjZpqVKEWHnmNOrJhrqFGj3khgFSonztd53Yr1IheHGAoQiBETkTIJSYVKh86I0YzZhaud9pd5uYkmK9YtF1S7jV0UixY+eHOBNWhcuI5ydJBBkXt4kRcVKProG2MsQ6aGmjbatvMx1VJ7hjMHOdhDzx3uDDIYJhwnHieeIBEjFiEyzfQoo/30X+f6ec530bU2crLL2aWx6I2QkKxY22i7ytUhhkTWaJFFsfzVoTvAAQ+e7WRm1KhrqDFjrqe+i64gwXHGJ5mcZvohDx/xKERojrk48SmmokRDhBZZPMtZF65Nclm7jeIIVeZjwLCf/U00jTMeIHCNa4c4dI97MWJ11LXTbse+fQE0aGzYrFgzZA5zWPTgOPEAgfvc76a7l14//ijREUa+5VsPHhl5o1THLqT4BBa5hzba7nI3SPB3fp9meoopCamW2k0STZsgIalRq1ELB5ElmyJ1hCNddP3Ij9/z/SSTceJjjP3Kr168ZYELixnzcY47cMwwM8zwOOOLLIrsghPnk/tIBQodOh06M2YdugiRH/hhhpkw4T76QoQaaCiWGXVRLue1aOupP8xhA4YYsTDhNGnRrbezJW/76NDVUXeKUyJzlSIVIhQhIkLZRUFRCiyWXm202bBJSDlyOnRevF68//N9EXr0DhxGjECW7DLLSZJrE1m7lqIcogETpk46T3LSijVLVkY+y1kHjnU3PT0JOXJZskJRkX1Soy6W8ZniFViN2oXrIz4KEsyS1aO3Yl03u7CKDJkEiSxZFSo9+i1jzjFiU0yJ3Zlq1Hr0MnJ5mfQ0sGCxYBEbLbbPEkt99N3jnhdvE002bDp06wqWI5cgMcHEFa6ECAFGjPvYZ8ZcRKmIXZRNAtSoRUJpy63tj02GjA/fT/wkMkiddHrwWLAYMIg8sYQkNmKGCT/k4Xd81013hIgIop3gRDXVBXq2QrCLskmAHv1JTr7Lu4UTOEcuRcqHb4SRccYvc7mZZi9eD55qqnXoFChSpAIEHvDgJjcHGZxlFnDifIEXOuksokUwuyqbBJgxu3HPM19DTYGeR0S8XbgCBOaYm2V2mOFrXDNiXNWDI0SiRNOkdehcuE5z+h3eceIsrnxDQQReiT/vNJOqR99IowlTvgUdOnFxp4+hQuXAcYhDJkxij7QBgwrVQQ6+z/vddN/nvsgjxYmHCYuTZzlySpQqVJVUWrCYMe9hzxnOnOKUG7dYL20HGbmRxnbakyQbaCjEDH87SIX4W5WPfbpwxQcbMKxYUKESh+82TzStJUNGGIkSzT9dmCETIzbHXIjQGGOjjPrwBQiIk2f8d7ZsxerC1UzzfvY7cVZRtaMY2faPrhSUgghcLCyxtMCCyC4kSa6cHVWgED3YgMGEqag3dfyrBf43UDTruTKPR1ngEqcscIlTFrjEKQtc4pQFLnHKApc4ZYFLnLLAJU5Z4BKnLHCJUxa4xCkLXOL8Bzo+5PoneHYYAAAAAElFTkSuQmCC
通过观察 image_base的值,我们发现有效的base64编码为 data:image/png;base64,后面的值,故需要先对image_base的值进行分割,再进行转化处理,
具体方法如下:
import base64
import io
from PIL import Image
def base64_to_image(image_base, image_path):
'''
将base64编码转换为图片
:param image_base: base64编码
:param image_path: 图片路径
:return:
'''
bytes = image_base.split(',')[-1]
bytes = base64.b64decode(bytes) # 将base64解码为bytes
image = io.BytesIO(bytes)
image = Image.open(image)
image.save(image_path)