Cómo se usa
- Elige Codificar para convertir texto en números decimales o Decodificar para convertir los números de nuevo en texto.
- Escribe o pega la entrada, o abre un archivo. El resultado se actualiza mientras escribes.
- Elige un separador para los números: Espacio, Coma o Salto de línea.
- Copia los números o descárgalos como archivo.
Valores de byte decimales y códigos ASCII
Todo carácter se guarda internamente como uno o varios bytes, y un byte es simplemente un número de 0 a 255. Esta herramienta escribe cada uno de esos números en notación decimal corriente. En el texto en inglés, los números son los conocidos códigos ASCII: las mayúsculas van del 65 al 90, las minúsculas del 97 al 122, los dígitos del 0 al 9 del 48 al 57, y el espacio es el 32. Los caracteres de control están por debajo de 32; por ejemplo, 10 es el salto de línea y 13 el retorno de carro.
El resultado es la misma lista que obtienes con ord() en Python o al leer un Uint8Array en JavaScript, y es una forma práctica de detectar caracteres invisibles, finales de línea o una marca de orden de bytes (BOM) en una cadena.
Un número por byte, no un único número grande
La conversión se hace byte a byte: una palabra de dos letras da dos números, no un único entero. Los valores mayores que 127 nunca aparecen en texto ASCII. En UTF-8 aparecen en secuencias de dos a cuatro bytes que juntos forman un carácter, y por eso una letra acentuada o un carácter chino produce varios números. Para obtener un valor por carácter en texto de Europa occidental, elige ISO-8859-1, donde el valor de cada byte coincide con el punto de código Unicode del carácter, o Windows-1252.
Si lo que quieres es convertir un solo número entre bases, por ejemplo 255 a hexadecimal, usa el conversor de bases numéricas. Para ver los mismos bytes en otras notaciones, prueba hexadecimal o binario.
Valores de byte decimales en código
# Python
list('Hi'.encode()) # [72, 105]
bytes([72, 105]).decode() # 'Hi'
// JavaScript
[...new TextEncoder().encode('Hi')] // [72, 105]
new TextDecoder().decode(new Uint8Array([72, 105])) // 'Hi'
Especificación
| Alfabeto | 0-9 |
|---|---|
| Tamaño de salida | De 1 a 3 dígitos por byte, más separadores |
| Relleno | Ninguno |
| Estándar | Valores de byte en decimal |
| Distingue mayúsculas y minúsculas | No |
Ejemplos
| Entrada (UTF-8) | Salida |
|---|---|
Hello, World! | 72 101 108 108 111 44 32 87 111 114 108 100 33 |
Base64.is | 66 97 115 101 54 52 46 105 115 |
你好 | 228 189 160 229 165 189 |
Preguntas frecuentes
¿Cuál es el código ASCII decimal de la A?
La A mayúscula es 65 y la a minúscula es 97, tanto en ASCII como en UTF-8. Cada letra siguiente suma uno, así que la Z es 90 y la z es 122.
¿Puedo decodificar números decimales sin separadores?
No. Una serie de dígitos como 72105 podría dividirse de más de una manera, así que el decodificador necesita los números separados por espacios, comas, puntos y coma o saltos de línea. Se admiten ceros a la izquierda.
¿Por qué los números mayores que 255 dan error?
Un byte contiene valores de 0 a 255. Los números más grandes, como el punto de código Unicode 8364 del símbolo del euro, no son valores de byte. Escribe el propio carácter y codifícalo para ver sus bytes, por ejemplo en UTF-8.
¿Por qué un carácter se convierte en varios números?
UTF-8 guarda los caracteres que no son ASCII como dos, tres o cuatro bytes, y cada byte se convierte en su propio número. Elige un juego de caracteres de un solo byte, como Windows-1252, si necesitas un número por cada carácter de Europa occidental.