Codificar y decodificar Base 64 en Ruby

Base64 se utiliza para convertir datos binarios en una representación utilizando únicamente caracteres del código ASCII. Muchos lenguajes de programación lo incorporan por defecto, entre ellos Ruby.

Hoy veremos cómo codificar y decodificar el formato base 64 en Ruby, con un módulo que ya viene en la librería estándar.

Ejemplo de codificación Base 64

Por poner un ejemplo, la palabra “Hola” se convierte en SG9sYQ==.

Módulo que permite trabajar con base64 en Ruby

Se importa el módulo con require "base64", para codificar se llama a Base64.encode64 y para decodificar se llama a la función Base64.decode64; ambas funciones reciben y devuelven una cadena.

Por cierto, al codificar base64 se devuelve un salto de línea extra que se puede quitar con chomp, así:

codificado = Base64.encode64(cadena).chomp

Veamos algunos ejemplos.

Codificar y decodificar base64 con Ruby

=begin
	Codificar y decodificar Base 64 en Ruby

	@author parzibyte
=end
require "base64"
mensaje = "Hola, mundo. Vamos a codificar en base64 con Ruby desde parzibyte.me"
codificado = Base64.encode64 mensaje
puts "Codificado es '#{codificado}'"
decodificado = Base64.decode64 codificado
puts "Y decodificado (de vuelta al original) es '#{decodificado}'"

Así de simple es. Desconozco por qué se llama encode64 y decode64, pero sus motivos debieron tener.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *