El módulo base64 de Python proporciona herramientas para codificar y decodificar datos en formato Base64. Base64 es un sistema de codificación que representa datos binarios en un formato legible y transportable mediante caracteres ASCII. La codificación Base64 se utiliza comúnmente para enviar datos a través de canales que solo aceptan caracteres ASCII, como correo electrónico o servicios web. El módulo base64 de Python incluye funciones para codificar y decodificar datos en formato Base64, así como para la manipulación de datos codificados, como la eliminación de caracteres de relleno y la verificación de la validez de una cadena codificada.
Un ejemplo para usar base64 es:
import base64
with open("img/imagen.png", "rb") as image_file:
b64 = base64.b64encode(image_file.read())
print(type(b64))
print(b64)
b64utf8 = b64.decode('utf-8')
print(type(b64utf8))
print(b64utf8)
<class 'bytes'> b'iVBORw0KGgoAAAANSUhEUgAAAAYAAAAFCAIAAADpOgqxAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAABVJREFUCJlj/P79OwMqYGLAAGQLAQAPegLv5LcJ8QAAAABJRU5ErkJggg==' <class 'str'> iVBORw0KGgoAAAANSUhEUgAAAAYAAAAFCAIAAADpOgqxAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRTb2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAABVJREFUCJlj/P79OwMqYGLAAGQLAQAPegLv5LcJ8QAAAABJRU5ErkJggg==
Otro ejemplo usando base64 es:
import base64
# Cadena de texto a codificar en Base64
texto_original = "Este es un ejemplo de texto para codificar en Base64."
# Codificar en Base64
texto_codificado = base64.b64encode(texto_original.encode('utf-8'))
print("Texto codificado en Base64:", texto_codificado)
# Decodificar desde Base64
texto_decodificado = base64.b64decode(texto_codificado).decode('utf-8')
print("Texto decodificado desde Base64:", texto_decodificado)
La salida es
Aquí, primero importamos el módulo base64. Luego, definimos una cadena de texto que queremos codificar en Base64, la codificamos usando base64.b64encode(), e imprimimos el resultado. A continuación, decodificamos la cadena codificada en Base64 usando base64.b64decode(), y luego la imprimimos después de decodificarla.