Para almacenar o transferir una imagen a algunos, necesitamos convertirla en una string de modo que la string represente la imagen que damos como entrada. Entonces, en Python, para hacer esta operación, es una tarea sencilla que no es complicada porque tenemos muchas funciones en Python disponibles.
Convertir imagen en string
- Aquí primero importamos el método » Base64 » para codificar la imagen dada
- A continuación, abrimos nuestro archivo de imagen en modo rb , que se lee en modo binario.
- Leemos nuestra imagen con image2.read() que lee la imagen y la codifica usando b64encode() Es un método que se usa para codificar datos en Base64
- Finalmente, imprimimos nuestra string codificada
Imagen utilizada:
Python3
import base64 with open("food.jpeg", "rb") as image2string: converted_string = base64.b64encode(image2string.read()) print(converted_string) with open('encode.bin', "wb") as file: file.write(converted_string)
Producción:
Aquí obtuvimos el resultado, pero si se da cuenta en el inicio de la string, obtenemos esto b ‘ Esto lo podemos decir como una string codificada en Base64 en un par de comillas simples. Entonces, si queremos eliminar eso, podemos hacer lo siguiente reemplazando la declaración de impresión con print (my_string.decode (‘utf-8’))
Convertir string en imagen
Aquí, para convertirlo de una string, en realidad es un proceso inverso que también es un método directo
- Primero importamos Base64. Luego abrimos nuestro archivo binario donde arrojamos nuestra string. Luego abra el archivo en modo rb que se lee en modo binario.
- Almacene los datos que se leyeron del archivo en una variable. Luego cierra el archivo
- Luego solo proporcione cualquier nombre de archivo de imagen ( por ejemplo: «miimagen.png» ) y ábralo en modo wb Escriba en binario
- Decodifique el binario con b64.decode() y luego cierre el archivo con .close()
Nota: Usaremos la string creada anteriormente para volver a convertirla en la imagen.
Python3
import base64 file = open('encode.bin', 'rb') byte = file.read() file.close() decodeit = open('hello_level.jpeg', 'wb') decodeit.write(base64.b64decode((byte))) decodeit.close()
Producción:
Publicación traducida automáticamente
Artículo escrito por nishanthec19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA