Calculadora de Coste de Codificación Base64
Datos de entrada
| Tamaño binario | 1 MB |
|---|
Calculadora de Coste de Codificación Base64
Introduce el tamaño de unos datos binarios para ver cuánto ocupará la salida codificada en Base64 y cuánto espacio adicional añade la codificación.
Datos de entrada
Datos de entrada binarios
Resultados
Introduce un valor para ver los resultados.
Salida codificada
Desglose de tamaño
El coste de codificación Base64
Base64 es un esquema de codificación de binario a texto que representa datos binarios arbitrarios usando 64 caracteres ASCII imprimibles. Es la forma estándar de incrustar contenido binario en canales exclusivamente de texto: los adjuntos de correo electrónico, las URI de datos en HTML, los certificados PEM y las cargas útiles de APIs JSON dependen de él. La codificación es sin pérdida y reversible, pero aumenta el tamaño de los datos en aproximadamente un tercio.
Cómo funciona la codificación Base64
Base64 lee la entrada binaria en grupos de 3 bytes (24 bits) y asigna cada grupo a cuatro caracteres, cada uno de los cuales transporta 6 bits:
Cada uno de los 64 caracteres representa un valor de 0 a 63, seleccionados de A–Z, a–z, 0–9, + y /. La salida no contiene caracteres de control, bytes nulos ni bytes superiores a 127, lo que la hace segura para cualquier transporte compatible con ASCII.
La fórmula del tamaño
Como cada 3 bytes de entrada se convierten en 4 bytes de salida, el tamaño codificado es:
El techo maneja las entradas cuya longitud no es múltiplo de 3 rellenando el último grupo con uno o dos caracteres =.
El coste como fracción del tamaño original es:
Para entradas que son múltiplos exactos de 3 bytes, esto es exactamente .
Ejemplo resuelto
Un fichero binario de 1 MB (1.000.000 bytes):
Implicaciones prácticas
Correo electrónico y MIME. Los adjuntos se codifican en Base64 dentro del cuerpo del mensaje, por eso un adjunto PDF de 3 MB aumenta el tamaño del correo a aproximadamente 4 MB.
URI de datos. Incrustar un PNG de 200 KB como URI de datos en un fichero HTML o CSS produce unos 267 KB de texto, lo que aumenta el peso de la página. Para iconos pequeños evita una solicitud HTTP adicional; para imágenes grandes supone habitualmente una pérdida neta.
APIs JSON. Los datos binarios (imágenes, fragmentos de audio, firmas criptográficas) se codifican con frecuencia en Base64 antes de incluirse en cadenas JSON, ya que JSON no tiene un tipo binario nativo. Los clientes deben prever el coste de codificación al planificar el tamaño de las cargas útiles.
Base64 seguro para URL. Algunos sistemas sustituyen + por - y / por _ para producir una salida segura en segmentos de ruta URL y parámetros de consulta sin codificación por ciento. La aritmética de tamaño es idéntica.
Calculadora de Relación de Compresión permite evaluar si comprimir antes de codificar puede compensar parcialmente el coste: los datos comprimidos suelen codificarse de forma más eficiente por byte.
Conversor de Base Numérica resulta útil cuando se trabaja con las representaciones hexadecimales o binarias que Base64 acaba codificando.
Preguntas frecuentes (FAQ)
¿Por qué Base64 añade aproximadamente un 33 % de coste?
Base64 codifica cada 3 bytes de datos binarios como 4 caracteres ASCII imprimibles. Tres bytes contienen 24 bits de información; cuatro caracteres Base64 también contienen 24 bits (6 bits cada uno), pero cada carácter ocupa un byte completo en formato texto.
El resultado es que 3 bytes se convierten en 4 bytes: un incremento de exactamente un tercio, o aproximadamente el 33,3 %. Si la longitud de la entrada no es múltiplo de 3, se añaden caracteres de relleno (=) para completar el último grupo de 4 caracteres, lo que puede elevar el coste ligeramente por encima del 33 %.
¿Cuándo y por qué se usa la codificación Base64?
Base64 convierte datos binarios en un subconjunto seguro de ASCII imprimible para que puedan circular por canales solo de texto sin corromperse. Los usos más habituales son: la incrustación de imágenes o fuentes directamente en HTML y CSS (URI de datos), el envío de adjuntos binarios en correo electrónico (MIME), la codificación de claves y certificados criptográficos (formato PEM) y la transmisión de cargas útiles binarias en APIs JSON.
El coste del 33 % es el precio aceptado por la compatibilidad garantizada con el transporte en texto.
¿En qué se diferencia Base64 de la codificación hexadecimal?
La codificación hexadecimal (base 16) representa cada byte como dos caracteres hexadecimales, por lo que siempre duplica el tamaño de los datos: un 100 % de coste. Base64 usa 64 caracteres, lo que permite almacenar 6 bits por carácter en lugar de 4, codificando los mismos datos en tan solo 4/3 caracteres en lugar del doble.
Base64 es la opción estándar cuando el tamaño de la salida importa; la codificación hexadecimal se prefiere cuando la legibilidad humana o la depuración son prioritarias, ya que cada par de dígitos hexadecimales se corresponde de forma directa y obvia con un byte.
¿Qué son los caracteres = de relleno al final de la salida Base64?
Base64 procesa la entrada en grupos de 3 bytes. Cuando el último grupo tiene solo 1 byte, se añaden dos caracteres =; cuando tiene 2 bytes, se añade uno. Esto garantiza que la longitud de la salida sea siempre múltiplo de 4 caracteres, lo que simplifica la decodificación. El relleno no contiene información: algunos sistemas lo omiten (como el Base64 seguro para URL) y lo reconstruyen a partir de la longitud de la salida al decodificar.