Conectar vía MCP →

Ingresar cálculo

Fórmula

Publicidad

Resultados

Texto decodificado
Hello World
Bytes decodificados 11
Caracteres de entrada (sin espacios) 16
Caracteres de relleno 1

¿Qué es un decodificador Base64?

Base64 es un esquema de codificación que representa datos binarios mediante 64 caracteres ASCII imprimibles (A–Z, a–z, 0–9, además de + y /). Se usa muchísimo para incrustar imágenes en HTML, transmitir datos en JSON o URLs y codificar archivos adjuntos de correo electrónico. Este decodificador hace el camino inverso: convierte una cadena Base64 de nuevo en el texto plano original que representaba.

Cómo usarlo

Pega o escribe tu cadena Base64 en el cuadro de entrada y envíala. La herramienta elimina los espacios en blanco, decodifica los caracteres y muestra el texto resultante junto con el número de bytes decodificados, el recuento de caracteres de entrada y cuántos caracteres de relleno ('=') había. Si la entrada contiene caracteres ajenos al alfabeto Base64, verás un mensaje de "no válida".

La fórmula explicada

Cada carácter Base64 codifica 6 bits de información. Por tanto, cuatro caracteres Base64 transportan \(4 \times 6 = 24\) bits, que se reagrupan de forma exacta en tres bytes de 8 bits. Cuando la longitud de los datos originales no es múltiplo de 3, se añaden uno o dos caracteres de relleno '=' para que la longitud de la cadena codificada sea siempre múltiplo de 4. Al decodificar, ese relleno se descarta y los bits sobrantes se ignoran.

$$\text{Bytes} = \left\lfloor \frac{6 \times \text{Base64 chars (no padding)}}{8} \right\rfloor$$$$\begin{gathered} \text{Bytes} = \left\lfloor \frac{6N}{8} \right\rfloor \\[1.5em] \text{where}\quad \left\{ \begin{aligned} N &= \text{valid chars of } \text{Base64 Input} \\ &\quad \text{(whitespace and } = \text{ removed)} \\ \text{char} &\to 6\text{ bits},\; 8\text{ bits} \to 1\text{ byte} \end{aligned} \right. \end{gathered}$$
Cuatro caracteres Base64 de 6 bits cada uno reagrupados en tres bytes de 8 bits
Cuatro caracteres Base64 contienen 24 bits, que se reagrupan en tres bytes decodificados.

Ejemplo resuelto

Tomemos la cadena Base64 SGk=. Los caracteres corresponden a los valores S=18, G=6, k=36, y el '=' es relleno. En binario: \(010010\ 000110\ 100100\) → 24 bits, pero el relleno final indica que solo 2 bytes son válidos: \(01001000\) (72 = 'H') y \(01101001\) (105 = 'i'). El resultado es Hi.

Flujo que muestra una cadena Base64 convertida mediante bits en texto plano
El decodificador convierte una cadena Base64 de nuevo en el texto original.

Referencia del Alfabeto Base64

Base64 estándar (RFC 4648) asigna cada valor de 6 bits (0-63) a uno de 64 caracteres ASCII imprimibles. Un decodificador lee cada carácter, busca su índice de 6 bits en esta tabla, concatena los bits y los reagrupa en bytes de 8 bits. La tabla siguiente enumera el alfabeto completo y el índice asignado a cada carácter.

Índice Carácter Índice Carácter Índice Carácter Índice Carácter
0 A 16 Q 32 g 48 w
1 B 17 R 33 h 49 x
2 C 18 S 34 i 50 y
3 D 19 T 35 j 51 z
4 E 20 U 36 k 52 0
5 F 21 V 37 l 53 1
6 G 22 W 38 m 54 2
7 H 23 X 39 n 55 3
8 I 24 Y 40 o 56 4
9 J 25 Z 41 p 57 5
10 K 26 a 42 q 58 6
11 L 27 b 43 r 59 7
12 M 28 c 44 s 60 8
13 N 29 d 45 t 61 9
14 O 30 e 46 u 62 +
15 P 31 f 47 v 63 /

El símbolo 65, = (igual), no es un carácter de datos. Es el marcador de relleno utilizado al final de una cadena codificada para que la longitud total sea siempre un múltiplo de 4 caracteres. Un = significa que el grupo final de 4 caracteres codifica 2 bytes; dos == significa que codifica 1 byte. Un decodificador descarta el relleno y los bits de cero adicionales que implica.

Más Ejemplos de Decodificación

Cada carácter Base64 contribuye 6 bits. Cuatro caracteres (24 bits) se decodifican en exactamente 3 bytes; los grupos parciales utilizan relleno para que el decodificador sepa cuántos bytes mantener. El conteo de bytes sigue la fórmula \(\text{Bytes} = \left\lfloor \frac{6 \times n}{8} \right\rfloor\), donde \(n\) es el número de caracteres reales (sin relleno).

Ejemplo 1 — Sin relleno: "TWFu" → "Man"

  1. Índices: T=19, W=22, F=5, u=46.
  2. Grupos de 6 bits: 010011 010110 000101 101110.
  3. Reagrupar en bytes: 01001101 01100001 01101110 = 77, 97, 110.
  4. ASCII 77, 97, 110 = M, a, n. Con \(n=4\): \(\lfloor 24/8 \rfloor = 3\) bytes — Man.

Ejemplo 2 — Un relleno '=': "SGVsbG8=" → "Hello"

  1. Descartar relleno: 7 caracteres reales S, G, V, s, b, G, 8.
  2. Índices: S=18, G=6, V=21, s=44, b=27, G=6, 8=60.
  3. Bits: 010010 000110 010101 101100 011011 000110 111100 (los últimos 2 bits del grupo de relleno son ceros de relleno y se descartan).
  4. Bytes: 01001000 01100101 01101100 01101100 01101111 = 72, 101, 108, 108, 111 = H, e, l, l, o.
  5. Con \(n=7\): \(\lfloor 42/8 \rfloor = 5\) bytes — Hello.

Ejemplo 3 — Relleno '==': "aGk="... y "TQ==" → "M"

  1. Descartar relleno: 2 caracteres reales T, Q.
  2. Índices: T=19, Q=16.
  3. Bits: 010011 010000; mantener solo los primeros 8 bits, los últimos 4 son ceros de relleno.
  4. Byte: 01001101 = 77 = M.
  5. Con \(n=2\): \(\lfloor 12/8 \rfloor = 1\) byte — M.

Para ir en la otra dirección y producir estas cadenas a partir de texto, utiliza el Codificador Base64.

Términos Clave

Alfabeto Base64
El conjunto fijo de 64 caracteres imprimibles (A-Z, a-z, 0-9, + y /) utilizados para representar datos binarios como texto. Cada carácter representa un valor de 6 bits de 0 a 63.
Relleno ('=')
El signo igual agregado al final de una cadena codificada para que su longitud sea un múltiplo de 4 caracteres. No lleva datos; un '=' marca un grupo final de 2 bytes y '==' marca un grupo final de 1 byte.
Sexteto (6 bits)
Un grupo de 6 bits — la unidad que un solo carácter Base64 codifica. Cuatro sextetos (24 bits) se alinean exactamente con tres octetos.
Octeto / byte (8 bits)
Una unidad de 8 bits, el tamaño estándar de un byte de datos decodificados. La decodificación Base64 reagrupa sextetos de nuevo en octetos, que el Convertidor de Binario a Texto también puede ilustrar bit por bit.
Eliminación de espacios en blanco
Eliminación de espacios, tabulaciones y saltos de línea antes de decodificar. Muchos sistemas insertan saltos de línea en Base64 largo (por ejemplo, certificados PEM, MIME de correo electrónico); un decodificador robusto ignora este espacio en blanco en lugar de tratarlo como datos.
Base64 seguro para URL
Una variante (RFC 4648 §5) que reemplaza + con - y / con _ para que la cadena sea segura en URL y nombres de archivo. El relleno a menudo se omite también. Convierte tales caracteres nuevamente a + y / antes de usar un decodificador estándar; para la URL circundante, consulta el Calculadora de Codificación/Decodificación de URL.

Preguntas frecuentes

¿Se envían mis datos a algún sitio? La lógica de decodificación se ejecuta en el servidor para generar el resultado, pero no se almacena ninguna entrada. Aun así, evita pegar información confidencial.

¿Por qué el recuento de bytes no es divisible entre 4? El recuento de bytes se refiere a los bytes de salida ya decodificados, no a los caracteres de entrada. Cada 4 caracteres de entrada se convierten en un máximo de 3 bytes de salida.

¿Qué significa el relleno? Un solo '=' indica que el último grupo produjo 2 bytes; dos '=' significan que produjo 1 byte. La ausencia de relleno indica que la longitud de los datos ya era múltiplo de 3.

Última actualización: