¿Qué es Base64?
Base64 es un método para convertir datos binarios arbitrarios, datos compuestos por más que caracteres de texto simples, en un mensaje de texto plano que luego se puede transferir a través de una red de computadoras. Es lo que se llama una codificación. Si bien la salida de un mensaje codificado Base64 no es algo que un humano pueda entender fácilmente, todavía se compone de 64 caracteres de idioma inglés comunes, que es de donde proviene el nombre, con un 65 ° carácter adicional utilizado para fines especiales.
La idea detrás de Base64 surgió a medida que surge la necesidad de obtener más que simples caracteres de texto a través de comunicaciones de redes como el correo electrónico como el correo electrónico. Los primeros mensajes de correo electrónico comenzaron como caracteres codificados en el código estándar estadounidense para el intercambio de información (ASCII), el método de codificación utilizado en las computadoras para representar caracteres del alfabeto en inglés como texto en pantallas o impresoras. Como se necesitaba información binaria adicional, se desarrollaron nuevos esquemas de codificación.
El método de codificación Base64 se describió por primera vez en lo que se conoce como el estándar de extensiones de correo de Internet multipropósito (MIME). Los métodos definidos estándar MIME mediante los cuales otros caracteres que no estaban codificados por ASCII, como los alfabetos utilizados por los idiomas que no son del inglés, así como otros datos binarios arbitrarios, también podrían codificarse en secuencias ASCII y transmitirse a través de mensajes de correo electrónico. De los dos medios principales de codificación descrito por el estándar MIME, Base64 comparte el papel con otro conocido como Citado Imprimible. Mientras que el método imprimible citado es capaz de extender ASCII algo más allá de sus 94 caracteres imprimibles limitados, Base64 puede tomar cualquier secuencia de bytes y convertirlo en una secuencia ASCII.
Base64 necesita tomar cadenas de datos que de otro modo no cumplirían con el estándar ASCII y los convertirían en ASCII. Para hacer esto, el método de codificación es un proceso de recopilación de datos en grupos de tres bytesy convertirlos en cuatro números que representan los caracteres ASCII correspondientes. Dado que un byte es de ocho bits, donde cada bit está representado por uno o cero, tres bytes están vinculados de extremo a extremo y toda la secuencia entra en un búfer de 24 bits. Los 24 y los ceros se dividen en cuatro grupos de seis bits, donde cada uno se asigna números que coinciden con un carácter ASCII.
Dado que Base64 es capaz de codificar cualquier datos binarios, cualquier secuencia de bytes puede pasar por el proceso. Sin embargo, hay una captura en aquellos casos en que el número de bytes para codificar no es divisible por tres para que los bits puedan caber en el búfer. Si una secuencia de byte contiene, digamos, cuatro o cinco bytes, todavía se necesita algo para llenar el búfer y representar los 24 bits completos. En estos casos, cada byte faltante está representado por ocho 0 y se convierte posteriormente en caracteres de relleno en la codificación terminada. De aquí es de donde proviene el 65 ° personaje mencionado anteriormente, RepESented en el mensaje codificado con un signo igual (=); Solo aparece al final de una codificación en caso de que sea necesario un relleno.
Aunque Base64 se diseñó originalmente para transmitir datos binarios a través de mensajes de correo electrónico, su uso ha entrado en juego en varias otras áreas además de MIME. Uno de esos usos bastante comunes es que las bases de datos web y las aplicaciones codifiquen datos para la creación de un localizador de recursos uniforme (URL) en un formulario web. El lenguaje de marcado extensible (XML) también utiliza una variante que permite que los datos binarios, como las imágenes pequeñas, se incluyan dentro de los documentos XML. Existen otras variaciones para los métodos de cifrado y otras técnicas relacionadas con la seguridad, como ocultar contraseñas.