javascript

Codificar y decodificar base64 en JavaScript

Introducción

Base64 es un sistema de codificación que convierte cualquier dato a una representación que puede ser formada por los caracteres ASCII (los cuales son 64).

Veamos cómo podemos trabajar con base64 en JavaScript

JavaScript y Base64: btoa y atob

No necesitamos instalar un paquete o incluir un script, las funciones ya vienen incluidas nativamente. Eso sí, vienen en el navegador pero me parece que no están disponibles con Node.JS del lado del servidor.

Convertir a base64 en JavaScript

De esto se encarga la función btoa. Quiere decir “Binary to ascii” y bueno, convierte datos binarios o cualquier tipo de dato a una representación imprimible.

Recibe una cadena de datos binarios y devuelve igualmente una cadena, pero codificada.

Su uso es realmente sencillo:

See the gist on github.

Lo ejecutamos y esta es la salida:

Convertir a base64 en JS

Claro que no podemos únicamente convertir cadenas, de hecho podemos codificar, por ejemplo, una foto como vimos en este tutorial para tomar una foto con la webcam desde JavaScript.

Decodificar base64 en JavaScript

Ahora entra la función atob, que quiere decir “ASCII to binary”. Recibe una cadena que está codificada con base64 y devuelve los datos binarios.

Probemos con la cadena “cGFyemlieXRlLm1lL2Jsb2c=”:

See the gist on github.

Este es el resultado:

Decodificar base64 en JavaScript

Conclusión

Cabe mencionar que esta codificación no es segura, es decir, no es un método de encriptación o hasheo.

Tampoco comprime datos, de hecho los hace más largos.

Base64 funciona bien para representar una  URL, por ejemplo para mostrar una imagen o PDF directamente en un enlace.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

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.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

Entradas recientes

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

3 días hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

4 días hace

PHP: incrustar imagen en base64

El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…

4 días hace

Plugin ESC POS – Actualización 3.4.0: imprimir HTML

El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…

5 días hace

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

2 semanas hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

2 semanas hace

Esta web usa cookies.