Cómo convertir Base64 a decimal
- Pega el Base64 en Entrada · Base64. Se admiten espacios, saltos de línea, caracteres URL-safe y relleno ausente.
- Los valores de byte aparecen en Salida · Bytes decimales.
- Elige el Separador bajo la salida: Espacio,
,,,o Nueva línea. - Usa Copiar salida o Descargar para llevarte la lista. El selector Bytes decimales → Base64, o Decimal a Base64, invierte la conversión.
Ejemplos
| Base64 | Bytes decimales | Qué es |
|---|---|---|
SGkh | 72 105 33 | el texto Hi! |
SGkh/w== | 72 105 33 255 | Hi! más un byte 0xff |
AQA= | 1 0 | dos bytes, 256 como número big-endian de 16 bits |
AAAA | 0 0 0 | tres bytes cero |
//// | 255 255 255 | tres bytes con todos los bits a 1 |
fwAAAQ== | 127 0 0 1 | una dirección IPv4, 127.0.0.1, como cuatro bytes en bruto |
La última fila muestra un uso práctico: los formatos binarios guardan las direcciones IPv4 como cuatro bytes, y la lista decimal es la forma con puntos de siempre, sin los puntos.
Valores de byte o un número grande
Este convertidor lista bytes. Leer todo el valor Base64 como un único entero da otra respuesta, y esa depende del orden de bytes: los dos bytes 1 0 son 256 si se leen como número big-endian y 1 si se leen como little-endian. Cuál es el correcto depende del formato que generó los datos, así que esa conversión corresponde al código, donde puedes indicarlo:
import base64
data = base64.b64decode("AQA=")
list(data) # [1, 0]
int.from_bytes(data, "big") # 256
int.from_bytes(data, "little") # 1
Lo mismo vale para un Base64 que contiene un contador de 32 bits, una marca de tiempo o un ID grande: la lista decimal da los bytes, y int.from_bytes o DataView en JavaScript dan el número.
Dónde se usan las listas de bytes en decimal
- JSON. Algunos serializadores escriben los datos binarios como un array de números.
JSON.stringify(Buffer.from("Hi!"))en Node da{"type":"Buffer","data":[72,105,33]}. Con el separador,y los corchetes obtienes la misma forma. - Python y hojas de cálculo.
list(b)en Python imprime valores decimales, y una columna de números (separador Nueva línea) se pega directamente en una hoja de cálculo. - Microcontroladores y monitores serie. El código de Arduino y muchas herramientas de puerto serie muestran los bytes en decimal. Para una declaración de array tipado en C u otro lenguaje, Base64 a array de bytes escribe el literal completo.
Si vas a leer los bytes en lugar de pegarlos en algún sitio, el hex suele ser más claro porque cada byte ocupa exactamente dos caracteres: prueba Base64 a hex.
Base64 a decimal en código
import base64
list(base64.b64decode("SGkh/w==")) # [72, 105, 33, 255]
Array.from(Buffer.from("SGkh/w==", "base64")).join(", "); // '72, 105, 33, 255'
En un navegador sin Buffer, Array.from(atob(s), c => c.charCodeAt(0)) da los mismos números. Las páginas de Python y JavaScript tratan la decodificación con más detalle.
Preguntas frecuentes
¿Qué significa «decimal» en Base64 a decimal?
Cada byte decodificado escrito como un número normal en base 10. Un byte va de 0 a 255, así que la salida es una lista de números en ese rango, uno por byte.
¿Cómo convierto Base64 en un único número en lugar de una lista?
Lee los bytes como un solo entero en código. En Python, int.from_bytes(base64.b64decode(s), "big"); para AQA= da 256, mientras que esta página lista los bytes 1 0.
¿Cómo obtengo un array JSON de bytes a partir de Base64?
Pon Separador en , y envuelve el resultado entre corchetes. SGkh queda como [72, 105, 33], que se interpreta como un array JSON.
¿Por qué Java imprime -1 donde esta página muestra 255?
El tipo byte de Java tiene signo, así que los bytes de 128 a 255 se imprimen como −128 a −1. Los bits son idénticos. Usa b & 0xff en Java para obtener el valor 0–255 que se ve aquí.