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.