Cómo convertir decimal a Base64
- Pega los números en Entrada · Bytes decimales. Cada número es un byte.
- El Base64 aparece en Salida · Base64 mientras escribes.
- Bajo la salida, Relleno (=) conserva o quita el
=final, y Ajuste de línea corta la salida larga a 64 o 76 caracteres. - Usa Copiar salida, o cambia a Base64 → Bytes decimales para comprobar el resultado. Base64 a decimal es la misma herramienta en sentido contrario.
Formatos de entrada
| Entrada | Origen | Base64 |
|---|---|---|
72 105 33 | lista simple | SGkh |
[72, 105, 33] | JSON, list(b) de Python | SGkh |
{72, 105, 33} | inicializador de C o Java | SGkh |
72;105;33 | exportaciones CSV con ; | SGkh |
[72, 105, -1] | Arrays.toString(bytes) de Java | SGn/ |
072 105 | columnas rellenas con ceros | SGk= |
Los números con ceros a la izquierda se leen como decimales, así que 072 es 72. Cada valor tiene que ser un número entero de −128 a 255. Un valor fuera de ese rango detiene la conversión y el mensaje dice cuál es; una letra suelta o un punto, como en 72.105, se indica con su posición, y Mostrar lo selecciona.
Si la lista contiene valores hex como 48 69 21, se leerían como los decimales 48, 69 y 21 y darían otro resultado. Para esos, usa Hex a Base64. Para arrays copiados del código fuente con valores 0x, casts o nombres de tipo, encaja mejor Array de bytes a Base64.
De dónde salen las listas de bytes en decimal
La mayoría de las listas de bytes en decimal son un lenguaje de programación imprimiendo datos binarios a su manera por defecto:
| Dónde | Qué imprime para Hi! |
|---|---|
Python list(b"Hi!") | [72, 105, 33] |
Node.js JSON.stringify(Buffer.from("Hi!")) | {"type":"Buffer","data":[72,105,33]} |
Java Arrays.toString("Hi!".getBytes()) | [72, 105, 33] |
JavaScript Array.from(new TextEncoder().encode("Hi!")) | [ 72, 105, 33 ] |
Convertir una lista así a Base64 te da una cadena compacta para un archivo de configuración, un dato de prueba o una petición a una API. 72, 105, 33 son 11 caracteres; el Base64 SGkh son 4.
Decimal a Base64 en código
import base64
base64.b64encode(bytes([72, 105, 33])).decode() # 'SGkh'
bytes() lanza ValueError: bytes must be in range(0, 256) con valores negativos. Convierte antes los bytes con signo al estilo de Java con [v & 0xff for v in values].
Buffer.from([72, 105, 33]).toString("base64"); // 'SGkh'
Buffer.from toma cada valor módulo 256 sin protestar, así que -1 se convierte en 255 y 256 pasa a ser 0 en silencio. La herramienta de arriba rechaza el 256, lo que destapa las listas que en realidad no son bytes. Consulta las páginas de Python y Node.js para más detalles.
Números que no son bytes
Un solo número grande, como un ID de usuario, una marca de tiempo o un contador, no tiene una forma Base64 única hasta que decides cuántos bytes ocupa y en qué orden. La hora Unix 1700000000 como valor big-endian de 4 bytes es ZVPxAA==; con 8 bytes es AAAAAGVT8QA=. Elige la disposición que espera el sistema receptor y codifícala en código; esta página rechaza a propósito los valores por encima de 255 para que una lista de números de 16 o 32 bits no se confunda con bytes.
Preguntas frecuentes
¿Puedo convertir un solo número como 1000 a Base64?
En esta página no, porque aquí cada número es un byte y 1000 no cabe en uno. Decide cuántos bytes debe ocupar el número y en qué orden, y codifica esos bytes. En Python, base64.b64encode((1000).to_bytes(2, "big")) da A+g=.
¿Qué separadores puedo usar entre los números?
Espacios, tabulaciones, saltos de línea, comas y punto y coma, mezclados como quieras. Los corchetes, las llaves y los paréntesis se ignoran, así que un array JSON o un inicializador de C se pegan tal cual.
¿Cómo se tratan los números negativos?
De −1 a −128 se leen como bytes con signo, tal como los imprimen Java y Kotlin: −1 es 255 y −128 es 128. Cualquier valor por debajo de −128 es un error.
¿Cómo convierto un array de bytes JSON a Base64?
Pega el array, corchetes incluidos. Con los objetos {"type":"Buffer","data":[...]} de Node, pega solo el array data.