Codifica en Base64 Online

Conoce la aplicación "Codificar en Base64", una sencilla herramienta online que hace exactamente lo que dice; codificar en Base64 de una forma sencilla y rápida.

La conversión se realizará en UTF-8
Sobre Base64

¿Que es Base 64?

Base64 es un grupo de esquemas de codificación y decodificación utilizada para convertir datos binarios a una cadena de texto en formato ASCII, y viceversa, traduciéndose en una representación radix-64. Se utiliza para transferir datos a través de un medio que solo admite formato ASCII, como mensajes de correo electrónico en datos de Extensión de correo de Internet multipropósito (MIME) y Lenguaje de marcado extensible (XML).

Hay que tener en cuenta que la codificación en base 64 hace que los datos sean un 33% más largos que los originales.

¿Para que se usa Base 64?

Los esquemas de codificación Base64 se usan comúnmente cuando existe la necesidad de codificar datos binarios que necesitan ser almacenados y transferidos a través de medios diseñados para tratar con datos textuales. Esto es para asegurar que los datos permanezcan intactos sin modificaciones durante el transporte. Base64 se usa comúnmente en varias aplicaciones, incluido el correo electrónico a través de MIME y el almacenamiento de datos complejos en XML.

Aquí podemos ver un ejemplo de cadena de texto codificada:

Esta es una prueba para codificar y descodificar una cadena de texto en base 64.

RXN0YSBlcyB1bmEgcHJ1ZWJhIHBhcmEgY29kaWZpY2FyIHkgZGVzY29kaWZpY2FyIHVuYSBjYWRlbmEgZGUgdGV4dG8gZW4gYmFzZSA2NC4=

Características innegables de Base64
  • Aunque a primera vista pueda parecer que Base64 es un método de encriptación, lo cierto es que no lo es en absoluto. Si bien ofusca la información para que a simple vista no podamos entender su contenido, no son necesarios conocimientos avanzados de ningún tipo para obtener la cadena de texto decodificada.
  • Una cadena codificada en Base64 tiene un 33% más de tamaño que la información original. Este porcentaje viene determinado por la relación de 8 a 6 bits por carácter, es decir, un carácter de base64 representa menos información que un carácter normal.
  • Es muy útil para transmitir o guardar datos binarios a través de medios que están pensados para trabajar con texto. Por ejemplo, se puede codificar un archivo o imagen y guardarla en una base de datos, aunque eso si, no es recomendable.
¿Cómo funciona la codificación y descodificación de Base64?

El funcionamiento es bastante sencillo. Base64 toma los 24 bits que se corresponden con los tres bytes a codificar, y los reparte en cuatro bytes, de modo que sólo se usen seis de los ocho bits de cada uno. Eso nos da cuatro valores entre 0 y 63 (siendo un total de 64 caracteres) que usaremos como índice en un array de caracteres US-ASCII:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

Si la cantidad de información que se va a codificar no es múltiplo de 24, la cadena resultante codificada en Base 64 terminará con el signo igual ("="). Esto se hace para que la información codificada sea múltiplo de 24. Este carácter aparece únicamente al final de los datos codificados.

Codificar en Base64 con JavaScript

En JavaScript existe la función btoa(), la cual crea una cadena ASCII codificada en base 64 a partir de una "cadena" de datos binarios.

var str = "¡Hola mundo!";
var enc = window.btoa(str);

btoa() acepta una cadena de texto donde cada carácter representa un byte de 8 bits; si le pasas un string que contiene caracteres que no se pueden representar en 8 bits, es probable que se rompa. Esto no es un problema si en realidad estás tratando la cadena como una matriz de bytes, pero si intentas hacer otra cosa, primero debes codificarla.

Codificar texto en Base 64 con PHP

Para PHP existe la función base64_encode. Esta función espera como parámetro un string, y devuelve los datos codificados como un string, o en caso de error devuelve un booleano a FALSE.

<?php
$str = '¡Hola mundo!';
echo base64_encode($str);
?>

Codificar texto en Base 64 con C#

Para codificar en C# hace falta realizar dos pasos. El primero es conseguir el array de bytes de la cadena de texto, y después pasar ese array de bytes al método ToBase64String.

var strBytes = System.Text.Encoding.UTF8.GetBytes("¡Hola mundo!");
return System.Convert.ToBase64String(strBytes);

Codificar en Base 64 con Python

Lo primero que tenemos que hacer es importar el módulo de base64 para poder codificar. Después simplemente habrá que utilizar la función base64.encodestring(s).

import base64
str = '¡Hola mundo!'
encode64 = base64.encodestring(str)

Saber más...