ASCII Explicado: Texto, Decimal, Hex, Binario y Octal
ASCII asigna cada carácter imprimible a un número entre 0 y 127. Entender esos números en decimal, hex, binario y octal es una habilidad a la que todo desarrollador recurre con más frecuencia de la esperada.
¿Qué es ASCII?
ASCII significa American Standard Code for Information Interchange. Publicado en 1963, define un mapeo entre 128 caracteres y los enteros del 0 al 127. Esos 128 caracteres cubren el alfabeto inglés (mayúsculas y minúsculas), los dígitos 0–9, la puntuación y 33 caracteres de control como salto de línea, tabulación y retorno de carro.
Cada carácter que escribes en un programa en inglés — cada nombre de función, cada literal de cadena, cada ruta de archivo — se representa internamente como un número ASCII.
Por Qué los Desarrolladores Siguen Necesitando ASCII
- Leer archivos binarios: En un editor hex, el panel derecho muestra la interpretación ASCII de cada byte. Saber que
0x48 0x54 0x54 0x50es "HTTP" te orienta al instante. - Depurar protocolos de red: El tráfico TCP y HTTP crudo es texto ASCII. Una captura de paquetes se vuelve legible cuando conoces la tabla.
- Codificación URL: El espacio es ASCII 32 (
0x20), por eso en una URL se convierte en%20. El signo de porcentaje va seguido del valor hex del código ASCII. - Secuencias de escape:
\nes ASCII 10,\tes ASCII 9,\res ASCII 13. Cuando un archivo de log parece corrupto, uno de estos suele ser el responsable. - Sistemas legados: Mainframes, firmware embebido y protocolos serie fueron diseñados alrededor de ASCII.
Los Cuatro Sistemas Numéricos, con un Solo Ejemplo
La letra A es el ejemplo más limpio porque sus valores son fáciles de recordar en los cuatro sistemas.
| Sistema | Valor para "A" | Cómo leerlo |
|---|---|---|
| Decimal | 65 | Base 10, el sistema con el que contamos |
| Hexadecimal | 0x41 | Base 16; 4×16 + 1 = 65 |
| Binario | 01000001 | Base 2; los bits reales almacenados en memoria |
| Octal | 101 | Base 8; 1×64 + 0×8 + 1 = 65 |
La a minúscula es el decimal 97 (0x61). La diferencia entre mayúscula y minúscula es exactamente 32, el mismo valor que el espacio. No es coincidencia: es un diseño deliberado que hace la conversión de mayúsculas/minúsculas un simple cambio de bit.
Ejemplos Prácticos
Codificación URL
Cuando un navegador codifica una URL, toma el valor ASCII de cada carácter inseguro y lo escribe como un signo de porcentaje seguido de dos dígitos hex. Espacio (ASCII 32 = 0x20) se convierte en %20. Usa el Codificador/Decodificador de URL para codificar o decodificar cualquier cadena URL al instante.
Secuencias de Escape
\n— ASCII 10, salto de línea\r— ASCII 13, retorno de carro (fin de línea Windows:\r\n)\t— ASCII 9, tabulación horizontal\0— ASCII 0, null (terminador de cadena en C)\x41— Escape hex; ASCII 65 = "A"
Leer Archivos Binarios
Los archivos PNG comienzan con 89 50 4E 47 en hex; los bytes del medio (50 4E 47) son ASCII para "PNG". Los archivos ZIP comienzan con 50 4B: "PK". Estas firmas permiten identificar tipos de archivo sin depender de la extensión.
ASCII Extendido y Unicode
El ASCII estándar cubre 128 caracteres, suficiente para el inglés pero no para otros idiomas. Los esquemas de "ASCII extendido" usaron el 8.º bit para añadir 128 caracteres más. El problema: no había un estándar único. La página de código 437, Latin-1 y Windows-1252 usaban el mismo rango de bytes para caracteres diferentes.
Unicode solucionó esto asignando un número único a cada carácter de todos los sistemas de escritura. UTF-8, la codificación dominante en la web, es retrocompatible con ASCII: los primeros 128 puntos de código Unicode son idénticos a ASCII.
Herramientas Relacionadas
Para trabajar con datos binarios junto a ASCII, el Conversor de Binario a Texto convierte cadenas binarias directamente a texto legible. Para conversiones entre bases numéricas, el Conversor de Bases Numéricas maneja decimal, hex, binario y octal.
Preguntas Frecuentes
¿Cuál es el valor ASCII del espacio?
El espacio es ASCII 32 (decimal), 0x20 (hex), 00100000 (binario). Es el carácter imprimible ASCII más bajo.
¿Por qué "A" es el decimal 65?
Los valores 0–31 son para caracteres de control, y el 32 es el espacio. Los caracteres imprimibles empiezan en el 33. Los dígitos 0–9 están en las posiciones 48–57, las letras A–Z en 65–90 y las a–z en 97–122.
¿Cuál es la diferencia entre ASCII y Unicode?
ASCII define 128 caracteres. Unicode define más de 140.000. Los primeros 128 puntos de código Unicode son idénticos a ASCII, por lo que el texto ASCII codificado en UTF-8 es byte a byte idéntico al ASCII plano.
Convierte Cualquier Texto a ASCII Ahora
Pega cualquier texto y ve al instante los valores decimal, hex, binario y octal de cada carácter.