Skip to content
DocsAll
教程

Principio de codificación Base64: ¿por qué crece 33% al codificar?

Timi Tian · Publicado el 7 de julio de 2026 · Actualizado el 12 de julio de 2026
Base64codificacióncodificación de datos

¿Qué es Base64?

Base64 es una forma de codificar datos binarios en texto puro. Usa 64 caracteres imprimibles (A-Z, a-z, 0-9, +, /) para representar cualquier dato binario, permitiendo que los binarios se transmitan por canales que solo soportan texto (como JSON, XML, URL, correo).

Principio de codificación

Tabla de caracteres

Base64 usa 64 caracteres: mayúsculas A-Z (26), minúsculas a-z (26), dígitos 0-9 (10), signo más +, barra /, en total 64. El signo igual = se usa como relleno al final.

Proceso de codificación

  1. Agrupar los datos de entrada en bloques de 3 bytes (24 bits)
  2. Dividir los 24 bits en 4 grupos, cada uno de 6 bits
  3. Cada 6 bits corresponde a un carácter Base64 (2 elevado a 6 = 64, exactamente 64 caracteres)
  4. Si faltan bytes para completar 3, se rellena con =

Ejemplo

3 bytes de entrada (24 bits) → 4 caracteres Base64. Por tanto, el número de bytes codificados es 4/3 del original, es decir, aproximadamente 133%, un aumento del 33%.

¿Por qué crece 33%?

Esencialmente, 1 byte puede representar 256 valores (8 bits), pero cada carácter Base64 solo representa 64 valores (6 bits). Para representar la misma cantidad de información, la codificación de 6 bits necesita 8/6 = 4/3 veces más caracteres que la de 8 bits. Por tanto, el tamaño tras la codificación Base64 es 4/3 del original, un aumento del 33%.

Este es el coste inherente de Base64 — intercambiar espacio por "transmisión como texto".

Ejemplo de codificación

Texto "Man" (3 bytes ASCII):

  • M = 77 = 01001101
  • a = 97 = 01100001
  • n = 110 = 01101110
  • Combinar en 24 bits: 01001101 01100001 01101110
  • Dividir en 4 grupos de 6 bits: 010011 010110 000101 101110
  • Caracteres Base64 correspondientes: T W F u
  • Resultado de codificación: TWFu

3 bytes se convierten en 4 bytes, exactamente 4/3.

Variantes de Base64

Base64 estándar

La tabla de caracteres incluye + y /, con relleno = al final. Adecuado para uso general.

Base64 seguro para URL

  • y / tienen significados especiales en URL, se sustituyen por - y _. Adecuado para transmisión en URL.

Base64URL

Variante segura para URL, comúnmente usada en JWT (JSON Web Token).

Base64 vs Base32 vs Hex

Base64

  • Conjunto de 64 caracteres
  • Aumenta 33% tras la codificación
  • Incluye letras mayúsculas y minúsculas, números y +/, distingue mayúsculas y minúsculas

Base32

  • Conjunto de 32 caracteres (A-Z, 2-7)
  • Aumenta 60% tras la codificación
  • No distingue mayúsculas y minúsculas, evita caracteres confusos, adecuado para entrada manual

Hex (hexadecimal)

  • Conjunto de 16 caracteres (0-9, a-f)
  • Aumenta 100% tras la codificación (cada byte se convierte en dos caracteres)
  • El más simple y compatible, pero duplica el tamaño

Tamaño: Hex > Base32 > Base64. Si quieres pequeño, elige Base64; si quieres compatibilidad y simplicidad, elige Hex.

¿Es Base64 un cifrado?

No. Base64 es codificación, no cifrado. Cualquiera puede decodificarlo, no hay protección por clave. Usar Base64 como cifrado es un grave error — solo "disfraza" los datos como texto confuso, al decodificar se obtiene el texto plano.

Para cifrar datos sensibles usa algoritmos de cifrado como AES; Base64 solo se usa para codificación de transmisión.

Casos de uso

Transmisión de datos

Transmitir datos binarios por canales de texto (JSON, XML, URL, correo), codificándolos en texto con Base64.

Incrustar imágenes pequeñas

Codificar imágenes pequeñas en Base64 e incrustarlas en HTML/CSS para reducir peticiones HTTP (ver usos de imágenes Base64).

JWT

JSON Web Token usa Base64URL para codificar el header y el payload.

Data URI

El protocolo data URL usa Base64 para incrustar recursos.

Basic Auth

La autenticación HTTP Basic usa Base64 para codificar usuario y contraseña (ten en cuenta que no es cifrado, debe usarse con HTTPS).

Codificar y decodificar con DocsAll

La herramienta de codificación y decodificación Base64:

  1. Introducir texto o cadena Base64
  2. Elegir codificar o decodificar
  3. Convertir con un clic
  4. Copiar el resultado

Se procesa en el navegador, los datos no se transmiten al exterior.

Errores comunes

Confundir con cifrado

Base64 no es cifrado; no protejas datos sensibles solo con Base64.

Aumento de tamaño tras la codificación

La codificación Base64 de archivos grandes aumenta el tamaño un 33%, incrementando los costes de transmisión y almacenamiento. Si puedes usar un canal binario, no uses Base64.

Confusión de conjuntos de caracteres

El Base64 estándar contiene +/; al ponerlo en una URL hay que escaparlo o usar la variante segura para URL. Mezclar variantes provoca fallos de decodificación.

El = final no se puede omitir

El carácter de relleno = es parte de la codificación; omitirlo puede causar errores de decodificación. Algunas implementaciones toleran la omisión, pero no es estándar.

Resumen

Base64 es codificación, no cifrado; usa 64 caracteres para representar datos binarios, y el aumento del 33% de tamaño es un coste inherente. Su propósito es permitir que los datos binarios se transmitan por canales de texto. En contextos de URL usa la variante segura para URL. La herramienta de codificación/decodificación de DocsAll se ejecuta en el navegador, los datos no se transmiten al exterior.

T
Timi Tian 创始人 / 全栈工程师

DocsAll 创始人,10 年全栈开发经验,专注浏览器端文档处理技术与隐私保护架构。前新加坡科技公司技术负责人。