Solución al Ejercicio: Codificar en base 64
📋 Copiar código
import base64
def codificar_base64(texto):
"""
Codifica una cadena de texto en Base64.
Args:
texto: La cadena de texto a codificar.
Returns:
La cadena codificada en Base64.
"""
texto_bytes = texto.encode('utf-8')
base64_bytes = base64.b64encode(texto_bytes)
base64_string = base64_bytes.decode('utf-8')
return base64_string
def decodificar_base64(texto_codificado):
"""
Decodifica una cadena de texto codificada en Base64.
Args:
texto_codificado: La cadena codificada en Base64.
Returns:
La cadena de texto original decodificada.
"""
base64_bytes = texto_codificado.encode('utf-8')
texto_bytes = base64.b64decode(base64_bytes)
texto_original = texto_bytes.decode('utf-8')
return texto_original
# Ejemplos de uso
texto_original = "Este es un texto de ejemplo para codificar en Base64."
texto_codificado = codificar_base64(texto_original)
print(f"Texto original: '{texto_original}'")
print(f"Texto codificado en Base64: '{texto_codificado}'")
texto_decodificado = decodificar_base64(texto_codificado)
print(f"Texto decodificado: '{texto_decodificado}'")
otro_texto = "¡Hola desde España!"
otro_texto_codificado = codificar_base64(otro_texto)
print(f"\nTexto original: '{otro_texto}'")
print(f"Texto codificado en Base64: '{otro_texto_codificado}'")
otro_texto_decodificado = decodificar_base64(otro_texto_codificado)
print(f"Texto decodificado: '{otro_texto_decodificado}'")
cadena_vacia = ""
codificada_vacia = codificar_base64(cadena_vacia)
decodificada_vacia = decodificar_base64(codificada_vacia)
print(f"\nTexto original: '{cadena_vacia}'")
print(f"Texto codificado en Base64: '{codificada_vacia}'")
print(f"Texto decodificado: '{decodificada_vacia}'")
Explicación del Código:
-
Importa el módulo base64
:
Este módulo proporciona funciones para la codificación y decodificación
Base64.
-
Función codificar_base64(texto)
:
texto_bytes = texto.encode('utf-8')
:
Convierte la cadena de texto a una secuencia de bytes utilizando la
codificación UTF-8, que es una codificación de caracteres estándar y
versátil.
base64_bytes = base64.b64encode(texto_bytes)
:
Utiliza la función b64encode()
del módulo base64
para codificar la secuencia de bytes en Base64, resultando en otra
secuencia de bytes.
base64_string = base64_bytes.decode('utf-8')
:
Decodifica la secuencia de bytes codificada en Base64 a una cadena de
texto utilizando la codificación UTF-8. La salida de Base64 es una
cadena ASCII.
- Devuelve la cadena codificada en Base64.
-
Función decodificar_base64(texto_codificado)
:
base64_bytes =
texto_codificado.encode('utf-8')
: Codifica la cadena de texto
codificada en Base64 a una secuencia de bytes utilizando UTF-8.
texto_bytes =
base64.b64decode(base64_bytes)
: Utiliza la función
b64decode()
para decodificar la secuencia de bytes de Base64 a la
secuencia de bytes original.
texto_original =
texto_bytes.decode('utf-8')
: Decodifica la secuencia de bytes
original a una cadena de texto utilizando UTF-8.
- Devuelve la cadena de texto original
decodificada.
Ejemplos de Uso:
Los ejemplos muestran cómo codificar una cadena
de texto a su representación Base64 y luego cómo decodificar esa cadena Base64
para obtener el texto original. También se incluye un ejemplo con una cadena que
contiene caracteres especiales en español y una cadena vacía.