La tabla ASCII relaciona cada código numérico del 0 al 127 con un carácter o una función de control. Es una referencia fundamental cuando necesitas interpretar bytes, revisar un archivo de texto, depurar una transmisión o entender por qué la letra A se almacena como 65 en decimal. Aunque hoy Unicode permite representar prácticamente todos los sistemas de escritura, los primeros 128 valores conservan el significado definido por ASCII y siguen apareciendo en formatos, protocolos y lenguajes de programación.
Esta guía reúne la tabla completa y explica cómo leerla en decimal, hexadecimal y binario. También aclara qué son los caracteres ASCII no imprimibles, cuáles son los rangos que conviene memorizar y por qué “ASCII extendido” no designa un único estándar.
Tabla ASCII completa del 0 al 127
La siguiente tabla de códigos ASCII incluye los 128 valores del estándar original. La columna binaria usa siete bits, que es el ancho nativo de ASCII. En un byte de ocho bits suele añadirse un cero a la izquierda: por ejemplo, A es 1000001 en siete bits y 01000001 dentro de un byte.
| Decimal | Hex | Binario | Carácter | Descripción |
|---|---|---|---|---|
| 0 | 00 | 0000000 | NUL | Nulo |
| 1 | 01 | 0000001 | SOH | Inicio de encabezado |
| 2 | 02 | 0000010 | STX | Inicio de texto |
| 3 | 03 | 0000011 | ETX | Fin de texto |
| 4 | 04 | 0000100 | EOT | Fin de transmisión |
| 5 | 05 | 0000101 | ENQ | Consulta |
| 6 | 06 | 0000110 | ACK | Confirmación |
| 7 | 07 | 0000111 | BEL | Timbre |
| 8 | 08 | 0001000 | BS | Retroceso |
| 9 | 09 | 0001001 | HT | Tabulación horizontal |
| 10 | 0A | 0001010 | LF | Salto de línea |
| 11 | 0B | 0001011 | VT | Tabulación vertical |
| 12 | 0C | 0001100 | FF | Salto de página |
| 13 | 0D | 0001101 | CR | Retorno de carro |
| 14 | 0E | 0001110 | SO | Cambio de salida |
| 15 | 0F | 0001111 | SI | Cambio de entrada |
| 16 | 10 | 0010000 | DLE | Escape de enlace de datos |
| 17 | 11 | 0010001 | DC1 | Control de dispositivo 1 |
| 18 | 12 | 0010010 | DC2 | Control de dispositivo 2 |
| 19 | 13 | 0010011 | DC3 | Control de dispositivo 3 |
| 20 | 14 | 0010100 | DC4 | Control de dispositivo 4 |
| 21 | 15 | 0010101 | NAK | Confirmación negativa |
| 22 | 16 | 0010110 | SYN | Inactividad síncrona |
| 23 | 17 | 0010111 | ETB | Fin de bloque de transmisión |
| 24 | 18 | 0011000 | CAN | Cancelar |
| 25 | 19 | 0011001 | EM | Fin de medio |
| 26 | 1A | 0011010 | SUB | Sustituir |
| 27 | 1B | 0011011 | ESC | Escape |
| 28 | 1C | 0011100 | FS | Separador de archivo |
| 29 | 1D | 0011101 | GS | Separador de grupo |
| 30 | 1E | 0011110 | RS | Separador de registro |
| 31 | 1F | 0011111 | US | Separador de unidad |
| 32 | 20 | 0100000 | SP | Espacio |
| 33 | 21 | 0100001 | ! | Signo de exclamación |
| 34 | 22 | 0100010 | " | Comillas dobles |
| 35 | 23 | 0100011 | # | Almohadilla |
| 36 | 24 | 0100100 | $ | Signo de dólar |
| 37 | 25 | 0100101 | % | Signo de porcentaje |
| 38 | 26 | 0100110 | & | Ampersand |
| 39 | 27 | 0100111 | ' | Apóstrofo |
| 40 | 28 | 0101000 | ( | Paréntesis izquierdo |
| 41 | 29 | 0101001 | ) | Paréntesis derecho |
| 42 | 2A | 0101010 | * | Asterisco |
| 43 | 2B | 0101011 | + | Signo más |
| 44 | 2C | 0101100 | , | Coma |
| 45 | 2D | 0101101 | - | Guion |
| 46 | 2E | 0101110 | . | Punto |
| 47 | 2F | 0101111 | / | Barra |
| 48 | 30 | 0110000 | 0 | Dígito 0 |
| 49 | 31 | 0110001 | 1 | Dígito 1 |
| 50 | 32 | 0110010 | 2 | Dígito 2 |
| 51 | 33 | 0110011 | 3 | Dígito 3 |
| 52 | 34 | 0110100 | 4 | Dígito 4 |
| 53 | 35 | 0110101 | 5 | Dígito 5 |
| 54 | 36 | 0110110 | 6 | Dígito 6 |
| 55 | 37 | 0110111 | 7 | Dígito 7 |
| 56 | 38 | 0111000 | 8 | Dígito 8 |
| 57 | 39 | 0111001 | 9 | Dígito 9 |
| 58 | 3A | 0111010 | : | Dos puntos |
| 59 | 3B | 0111011 | ; | Punto y coma |
| 60 | 3C | 0111100 | < | Signo menor que |
| 61 | 3D | 0111101 | = | Signo igual |
| 62 | 3E | 0111110 | > | Signo mayor que |
| 63 | 3F | 0111111 | ? | Signo de interrogación |
| 64 | 40 | 1000000 | @ | Arroba |
| 65 | 41 | 1000001 | A | Letra mayúscula A |
| 66 | 42 | 1000010 | B | Letra mayúscula B |
| 67 | 43 | 1000011 | C | Letra mayúscula C |
| 68 | 44 | 1000100 | D | Letra mayúscula D |
| 69 | 45 | 1000101 | E | Letra mayúscula E |
| 70 | 46 | 1000110 | F | Letra mayúscula F |
| 71 | 47 | 1000111 | G | Letra mayúscula G |
| 72 | 48 | 1001000 | H | Letra mayúscula H |
| 73 | 49 | 1001001 | I | Letra mayúscula I |
| 74 | 4A | 1001010 | J | Letra mayúscula J |
| 75 | 4B | 1001011 | K | Letra mayúscula K |
| 76 | 4C | 1001100 | L | Letra mayúscula L |
| 77 | 4D | 1001101 | M | Letra mayúscula M |
| 78 | 4E | 1001110 | N | Letra mayúscula N |
| 79 | 4F | 1001111 | O | Letra mayúscula O |
| 80 | 50 | 1010000 | P | Letra mayúscula P |
| 81 | 51 | 1010001 | Q | Letra mayúscula Q |
| 82 | 52 | 1010010 | R | Letra mayúscula R |
| 83 | 53 | 1010011 | S | Letra mayúscula S |
| 84 | 54 | 1010100 | T | Letra mayúscula T |
| 85 | 55 | 1010101 | U | Letra mayúscula U |
| 86 | 56 | 1010110 | V | Letra mayúscula V |
| 87 | 57 | 1010111 | W | Letra mayúscula W |
| 88 | 58 | 1011000 | X | Letra mayúscula X |
| 89 | 59 | 1011001 | Y | Letra mayúscula Y |
| 90 | 5A | 1011010 | Z | Letra mayúscula Z |
| 91 | 5B | 1011011 | [ | Corchete izquierdo |
| 92 | 5C | 1011100 | \ | Barra inversa |
| 93 | 5D | 1011101 | ] | Corchete derecho |
| 94 | 5E | 1011110 | ^ | Acento circunflejo |
| 95 | 5F | 1011111 | _ | Guion bajo |
| 96 | 60 | 1100000 | ` | Acento grave |
| 97 | 61 | 1100001 | a | Letra minúscula a |
| 98 | 62 | 1100010 | b | Letra minúscula b |
| 99 | 63 | 1100011 | c | Letra minúscula c |
| 100 | 64 | 1100100 | d | Letra minúscula d |
| 101 | 65 | 1100101 | e | Letra minúscula e |
| 102 | 66 | 1100110 | f | Letra minúscula f |
| 103 | 67 | 1100111 | g | Letra minúscula g |
| 104 | 68 | 1101000 | h | Letra minúscula h |
| 105 | 69 | 1101001 | i | Letra minúscula i |
| 106 | 6A | 1101010 | j | Letra minúscula j |
| 107 | 6B | 1101011 | k | Letra minúscula k |
| 108 | 6C | 1101100 | l | Letra minúscula l |
| 109 | 6D | 1101101 | m | Letra minúscula m |
| 110 | 6E | 1101110 | n | Letra minúscula n |
| 111 | 6F | 1101111 | o | Letra minúscula o |
| 112 | 70 | 1110000 | p | Letra minúscula p |
| 113 | 71 | 1110001 | q | Letra minúscula q |
| 114 | 72 | 1110010 | r | Letra minúscula r |
| 115 | 73 | 1110011 | s | Letra minúscula s |
| 116 | 74 | 1110100 | t | Letra minúscula t |
| 117 | 75 | 1110101 | u | Letra minúscula u |
| 118 | 76 | 1110110 | v | Letra minúscula v |
| 119 | 77 | 1110111 | w | Letra minúscula w |
| 120 | 78 | 1111000 | x | Letra minúscula x |
| 121 | 79 | 1111001 | y | Letra minúscula y |
| 122 | 7A | 1111010 | z | Letra minúscula z |
| 123 | 7B | 1111011 | { | Llave izquierda |
| 124 | 7C | 1111100 | | | Barra vertical |
| 125 | 7D | 1111101 | } | Llave derecha |
| 126 | 7E | 1111110 | ~ | Tilde |
| 127 | 7F | 1111111 | DEL | Suprimir |
Cómo leer la tabla ASCII
Cada fila expresa el mismo código de cuatro maneras relacionadas:
- Decimal usa la base 10 habitual. Es la forma más frecuente en explicaciones y llamadas a funciones.
- Hexadecimal usa base 16 y resume un byte en dos dígitos. Los valores del 10 al 15 se escriben A, B, C, D, E y F.
- Binario muestra los siete bits del código, desde
0000000hasta1111111. - Carácter o abreviatura indica el símbolo visible o el nombre convencional de una acción de control.
La fila de la A mayúscula, por ejemplo, contiene decimal 65, hexadecimal 41 y binario 1000001. No son cuatro caracteres diferentes, sino cuatro notaciones para el mismo valor. Puedes comprobar la parte numérica con el conversor de decimal a binario o recuperar el valor decimal con el conversor de binario a decimal.
En código fuente, el contexto suele indicar la base. El entero 65 es decimal; 0x41 es una notación hexadecimal común; y 0b1000001 identifica un literal binario en muchos lenguajes. Los tres pueden terminar produciendo exactamente el mismo byte.
Qué incluye ASCII
ASCII significa American Standard Code for Information Interchange. El repertorio original es de siete bits, por lo que ofrece combinaciones. Esas combinaciones se organizan en dos grupos principales:
- Los códigos 0 a 31 y el 127 son caracteres de control.
- Los códigos 32 a 126 son caracteres imprimibles: espacio, signos, números, letras mayúsculas y letras minúsculas.
El diseño no es aleatorio. Los dígitos y las letras ocupan bloques consecutivos, una propiedad que permite comprobar rangos y transformar determinados caracteres mediante aritmética sencilla. La tabla también conserva controles creados para teletipos y transmisiones seriales. Algunos han perdido su uso original, pero otros, como tabulación, retorno de carro y salto de línea, siguen presentes todos los días.
Caracteres ASCII de control
Los valores del 0 al 31 no representan glifos que deban dibujarse en pantalla. Indican acciones o separadores. Por eso la tabla muestra abreviaturas como NUL, TAB, LF, CR y ESC en vez de un símbolo visible.
Entre los controles más relevantes se encuentran:
- NUL (0): valor nulo. En C y sistemas relacionados marca con frecuencia el final de una cadena.
- TAB (9): tabulación horizontal, usada para separar columnas o avanzar hasta una posición de tabulación.
- LF (10): line feed o salto de línea. Es el terminador de línea habitual en Unix, Linux y archivos modernos.
- CR (13): carriage return o retorno de carro. Windows suele representar un salto de línea mediante la pareja
CR LF. - ESC (27): escape. Introduce secuencias de control en terminales y otros dispositivos.
- DEL (127): borrado. Es el único control situado después del bloque imprimible.
También aparecen controles de transmisión como SOH, STX, ETX, ACK y NAK. Sus nombres reflejan una época en la que ASCII coordinaba enlaces y terminales físicos. No debes esperar que todos generen una acción visible en una aplicación actual; su significado práctico depende del protocolo y del programa que interpreta los datos.
La diferencia entre LF y CR explica numerosos errores al intercambiar archivos. Un editor puede mostrar líneas correctamente mientras otra herramienta detecta caracteres adicionales. Revisar los bytes 0A, 0D o la pareja 0D 0A suele revelar qué terminador utiliza realmente el documento.
Caracteres ASCII imprimibles
El código 32 es el espacio, un carácter imprimible aunque no tenga tinta. Desde 33 hasta 47 se encuentran signos de puntuación y operadores, incluidos !, ", #, $, %, &, paréntesis, *, +, coma, guion, punto y barra.
Los bloques que más conviene recordar son:
| Rango decimal | Rango hexadecimal | Contenido |
|---|---|---|
| 48-57 | 30-39 | Dígitos 0-9 |
| 65-90 | 41-5A | Letras mayúsculas A-Z |
| 97-122 | 61-7A | Letras minúsculas a-z |
Después de los dígitos aparecen :, ;, <, =, >, ? y @. Entre las mayúsculas y las minúsculas están los corchetes, la barra inversa, el acento circunflejo, el guion bajo y el acento grave. El bloque final contiene llaves, barra vertical, tilde y DEL.
Esta distribución facilita las validaciones. Si un código está entre 48 y 57, representa un dígito. Para obtener su valor numérico se resta 48: el carácter 7 tiene el código 55, y . No es necesario mantener diez comparaciones independientes.
Relación entre mayúsculas y minúsculas
Las letras ASCII mayúsculas y minúsculas están separadas por 32 posiciones. A vale 65 y a vale 97; Z vale 90 y z vale 122. La diferencia es siempre 32, que corresponde al bit 0100000 en siete bits.
Ese patrón ayuda a comprender implementaciones de bajo nivel, pero una conversión moderna de texto no debería limitarse a sumar o restar 32. La regla solo sirve para las letras inglesas incluidas en ASCII. Unicode tiene casos lingüísticos y caracteres cuya transformación requiere más información. Para software real, utiliza las funciones de cambio de mayúsculas del lenguaje o la biblioteca adecuada.
Ejemplos de códigos ASCII y conversiones
La letra A
La mayúscula A ocupa la posición decimal 65. Su representación hexadecimal es 41 y su valor binario de siete bits es 1000001:
Carácter: A
Decimal: 65
Hexadecimal: 41
Binario de 7 bits: 1000001
Byte de 8 bits: 01000001La suma de las posiciones activas confirma el valor: . La tabla binaria resulta útil para comparar rápidamente estas equivalencias.
Un dígito escrito no es su valor binario
El carácter 5 tiene el código ASCII decimal 53, no 5. En memoria, el texto 5 puede aparecer como 00110101, mientras que el entero 5 sin codificar como texto puede almacenarse como 00000101 en un byte. La apariencia humana es la misma, pero la representación y la intención son distintas.
Esta distinción importa al leer datos de un teclado, un archivo CSV o una conexión de red. Para calcular con un dígito textual, el programa debe interpretarlo o restar el código de 0 cuando ya ha verificado que pertenece al rango correcto.
Una palabra completa
La palabra ASCII corresponde a los valores decimales 65 83 67 73 73, o a los bytes hexadecimales 41 53 43 49 49. Un visor hexadecimal muestra esos números; un editor que use una codificación compatible los presenta como letras.
ASCII, ASCII extendido, Unicode y UTF-8
El ASCII estándar termina en 127. Cualquier tabla de 256 posiciones contiene, en sus valores 128 a 255, una extensión definida por otra codificación. Expresiones como “ASCII extendido” pueden referirse a Windows-1252, ISO-8859-1, una página de códigos de DOS u otro repertorio. Esas opciones no asignan necesariamente el mismo carácter al mismo byte.
La tabla ASCII de esta página se limita deliberadamente al repertorio estándar. Esa frontera evita atribuir a ASCII caracteres cuyo significado depende de una codificación posterior.
Unicode resuelve el problema asignando puntos de código a caracteres de muchos idiomas, símbolos técnicos y otros sistemas de escritura. UTF-8 es una forma de codificar esos puntos mediante uno a cuatro bytes. Su primera franja, del byte 00 al 7F, coincide exactamente con ASCII. Por eso un archivo compuesto solo por caracteres ASCII válidos también es un archivo UTF-8 válido con el mismo contenido binario.
Una letra española como ñ no pertenece al ASCII original. Tampoco pertenecen á, € ni los caracteres chinos. En UTF-8 se representan con secuencias multibyte. Suponer que cada carácter equivale a un byte funciona para el subconjunto ASCII, pero falla en textos internacionales.
Para qué se utiliza una tabla de códigos ASCII
Una referencia de códigos ASCII sigue siendo práctica en muchas tareas. En particular, la tabla ASCII permite pasar de una vista numérica a un símbolo o control sin perder de vista la base utilizada:
- Interpretar volcados hexadecimales y paquetes que contienen campos de texto.
- Crear o depurar formatos delimitados, comandos de terminal y protocolos sencillos.
- Identificar tabulaciones, retornos y saltos de línea que un editor oculta.
- Verificar si una entrada contiene solo letras, dígitos o caracteres imprimibles básicos.
- Comprender escapes como
\n,\r,\ty\x41en código fuente. - Comparar texto con valores numéricos al estudiar representación binaria.
Al usar la referencia, empieza por saber si el dato es un número, un carácter o un byte de una secuencia codificada. Después confirma la base. El texto 41 podría significar cuarenta y uno en decimal, el byte hexadecimal de A o dos caracteres separados, 4 y 1. La tabla ofrece la correspondencia, pero el formato aporta el contexto.
Errores frecuentes al consultar la tabla ASCII
El primer error es llamar ASCII a cualquier texto de un byte. La tabla ASCII termina en 127; los valores superiores requieren identificar la página de códigos. El segundo es confundir un dígito con su código: 0 visible equivale a decimal 48. El tercero es olvidar el ancho; ASCII necesita siete bits, aunque se guarde normalmente dentro de bytes de ocho.
Otro fallo consiste en imprimir directamente un carácter de control y esperar una abreviatura. LF es el nombre del código 10, no las letras L y F. Dependiendo del entorno, enviarlo puede crear una línea, no mostrar texto. Finalmente, no todos los datos que parecen texto están completos: un byte aislado de UTF-8 puede ser solo una parte de un carácter.
Preguntas frecuentes sobre la tabla ASCII
¿ASCII utiliza 7 u 8 bits?
El estándar ASCII original utiliza 7 bits y define 128 códigos. En almacenamiento y transmisión suele colocarse cada código en un byte de 8 bits con el bit superior en cero. El octavo bit se aprovechó después en diferentes codificaciones, pero esas extensiones no forman una única versión universal de ASCII.
¿Cuál es el código ASCII del espacio?
El espacio es decimal 32, hexadecimal 20 y binario 0100000 en siete bits. Es el primer carácter imprimible, aunque visualmente aparezca vacío.
¿Cuáles son los códigos de A y a?
A es decimal 65, hexadecimal 41; a es decimal 97, hexadecimal 61. Las demás letras mantienen bloques consecutivos y la diferencia entre cada pareja mayúscula-minúscula es 32.
¿Cuál es el código ASCII de un salto de línea?
LF es decimal 10 y hexadecimal 0A. Los sistemas Unix suelen usar LF; Windows utiliza normalmente CR LF, es decir, hexadecimal 0D 0A. Algunos formatos antiguos emplean únicamente CR.
¿ASCII incluye letras acentuadas?
No. El repertorio de 0 a 127 no contiene á, é, ñ ni otros caracteres acentuados. Esos símbolos necesitan Unicode u otra codificación claramente identificada.
¿ASCII y UTF-8 son lo mismo?
No, pero son compatibles en el rango inicial. UTF-8 reproduce los códigos ASCII del 0 al 127 con un solo byte y utiliza secuencias adicionales para representar el resto de Unicode.
Resumen
La tabla ASCII traduce 128 códigos de siete bits a controles y símbolos básicos. Decimal 48 inicia los dígitos, 65 las mayúsculas y 97 las minúsculas; el espacio es 32, LF es 10 y DEL es 127. Con estas referencias puedes reconocer texto dentro de bytes, comprobar conversiones y diagnosticar separadores invisibles sin confundir ASCII con las numerosas codificaciones de ocho bits ni con Unicode.
