2 usuarios conectados

Codificar en base 64. Ejercicio en Python

Comparte esto

 

Escribe dos funciones en Python:

  1. codificar_base64(texto): Toma una cadena de texto como entrada y devuelve su representación codificada en Base64.
  2. decodificar_base64(texto_codificado): Toma una cadena de texto codificada en Base64 como entrada y devuelve la cadena original decodificada.



Más ejercicios




Mostrar/Ocultar ejercicio resuelto


  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:

  1. Importa el módulo base64: Este módulo proporciona funciones para la codificación y decodificación Base64.

  2. 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.
  3. 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.