¿Alguna vez te has preguntado cómo tu ordenador o cualquier otro dispositivo electrónico interpreta y muestra caracteres como letras, números y símbolos? Existe una "clave secreta", llamada código ASCII, que desbloquea este misterio.
En este post vamos a mostrarte cómo este código se convierte en el lenguaje universal de los sistemas informáticos, permitiendo la comunicación y representación de información de manera estandarizada y, por tanto, que todo funcione tal y como debe.

¿Qué es el código ASCII?
El código ASCII (American Standard Code for Information Interchange) es un sistema de codificación que asigna un valor numérico único a diferentes caracteres utilizados en la comunicación electrónica.
Fue desarrollado en la década de 1960, como un estándar para la transferencia de datos entre diferentes dispositivos informáticos.
El código ASCII utiliza 7 bits para representar 128 caracteres diferentes.
Estos caracteres incluyen letras mayúsculas y minúsculas, dígitos numéricos, signos de puntuación, símbolos matemáticos y una serie de caracteres de control utilizados para el formateo de texto y el control de dispositivos. Los primeros 32 caracteres son caracteres de control no imprimibles, como el retorno de carro (enter, o salto de línea) y el avance de línea.
Se convirtió en un estándar ampliamente utilizado en la industria informática y sentó las bases para la comunicación entre diferentes sistemas informáticos. Sin embargo, a medida que la tecnología avanzó, el sistema ASCII se quedó corto para representar todos los caracteres necesarios en diferentes idiomas y alfabetos. Esto llevó al desarrollo de codificaciones más amplias, como el estándar Unicode, que utiliza más bits para representar una gama más amplia de caracteres.
A pesar de sus limitaciones, el código ASCII sigue siendo relevante y se utiliza ampliamente en la programación y la comunicación de datos. Comprender cómo se asignan los caracteres a valores numéricos en el código ASCII es fundamental para trabajar con datos en entornos informáticos.
Estructura del código ASCII
El código ASCII asigna valores numéricos a diferentes caracteres, y está organizado de la siguiente manera:
- Caracteres de control: Los primeros 32 caracteres son caracteres de control no imprimibles, utilizados para el formateo de texto y el control de dispositivos. Incluyen el retorno de carro, el avance de línea y el tabulador, entre otros.
- Caracteres imprimibles básicos: A partir del valor 32, se encuentran los caracteres imprimibles, como letras mayúsculas y minúsculas, dígitos numéricos, signos de puntuación y símbolos matemáticos.
- Caracteres extendidos: A partir del valor 127, se incluyen caracteres extendidos que no están presentes en todas las versiones del código ASCII. Estos caracteres pueden variar según la codificación específica utilizada, como el ASCII extendido o las codificaciones específicas de diferentes idiomas.
Aunque aprender todos los caracteres del código ASCII pueda parecer algo inabarcable de entrada, al ser únicamente 128 (muchos de ellos consecutivos de forma lógica al corresponderse con letras minúsculas, letras mayúsculas o números), lo cierto es que hacerlo resulta mucho más intuitivo de lo que podría sugerir de entrada.
Eso sí, a día de hoy es muy fácil acceder a tablas de código ASCII con todas sus variantes como las que mostramos en el próximo apartado, así que, de entrada, resulta mucho más sencillo recurrir a ellas que aprendérselas de carrerilla como si fuesen la tabla periódica o la tabla de verbos irregulares en inglés.
La tabla ASCII: Caracteres, letras y números
La tabla ASCII es un estándar de codificación de caracteres que asigna valores numéricos a letras, números, símbolos y caracteres de control.
Aunque pueda parecer algo que ya está desfasado, saber cómo se representan los números del 0 al 9 en código ASCII, y cuál es su equivalencia en binario, puede sacarte de más de un apuro.
Carácter | Valor decimal |
0 | 48 |
1 | 49 |
2 | 50 |
3 | 51 |
4 | 52 |
5 | 53 |
6 | 54 |
7 | 55 |
8 | 56 |
9 | 57 |
También, es importante tener claro que las letras del alfabeto tienen dos correspondencias en el código ASCII, en función de si sin mayúsculas o minúsculas, que son las siguientes:
Letra | Valor decimal mayúscula | Valor decimal minúscula |
a | 65 | 97 |
b | 66 | 98 |
c | 67 | 99 |
d | 68 | 100 |
e | 69 | 101 |
f | 70 | 102 |
g | 71 | 103 |
h | 72 | 104 |
i | 73 | 105 |
j | 74 | 106 |
k | 75 | 107 |
l | 76 | 108 |
m | 77 | 109 |
n | 78 | 110 |
o | 79 | 111 |
p | 80 | 112 |
q | 81 | 113 |
r | 82 | 114 |
s | 83 | 115 |
t | 84 | 116 |
u | 85 | 117 |
v | 86 | 118 |
w | 87 | 119 |
x | 88 | 120 |
y | 89 | 121 |
z | 90 | 122 |
En este enlace de la web de Microsoft podemos encontrar toda la información sobre cómo insertar códigos de caracteres ASCII en Word. Se incluyen todas las combinaciones necesarias para escribir un carácter, siempre manteniendo presionada la tecla ALT de nuestro teclado.
Los caracteres de control, por su parte, abarcan los códigos del 0 al 31 y el 127, no son imprimibles y se utilizan para controlar dispositivos y gestionar el flujo de datos. Aquí tienes algunos ejemplos de los más utilizados.
Código | Abreviatura | Descripción |
0 | NUL | Carácter nulo |
7 | BRL | Timbre (alerta) |
8 | BS | Retroceso |
9 | HT | Tabulador horizontal |
10 | LF | Salto de línea |
13 | CR | Retorno de carro |
27 | ESC | Escape |
127 | DEL | Suprimir |
En cuanto a los símbolos ASCII especiales, sí son imprimibles, ya que incluyen signos de puntuación y operadores matemáticos, entre muchos otros.
Código | Símbolo | Descripción |
33 | ! | Signo de exclamación |
35 | # | Almohadilla |
36 | $ | Signo de dólar |
37 | % | Porcentaje |
38 | & | Ampersand |
42 | * | Asterisco |
43 | + | Signo más o de suma |
47 | / | Barra diagonal |
Uso del código ASCII en teclados y texto
Ya sabes algo más sobre para qué sirve el código ASCII y cómo funciona, ¿pero imaginabas que tu teclado y ASCII forman una pareja inseparable? ¡Este código es básico para la comunicación entre el teclado y el ordenador!
Al presionar una tecla, esta envía un código ASCII específico que el sistema interpreta como un carácter determinado. Además, es posible insertar símbolos y caracteres especiales mediante combinaciones de teclas conocidas como ‘códigos Alt’. Por ejemplo, al mantener presionada la tecla Alt y escribir ‘64’ en el teclado numérico, se inserta el símbolo ‘@’. ¡Aquí tienes otras ejemplos que te resultarán muy útiles!
- Alt + 35: #
- Alt + 36: $
- Alt + 37: %
- Alt + 38: &
Estos atajos facilitan el uso de caracteres e iconos ASCII que no están directamente disponibles en el teclado, ¡así que quizás te venga bien memorizar alguno!
Cómo pasar código binario a ASCII
Saber convertir código binario a ASCII es otra de esas cosas que hoy en día pueden hacerse online, pero las divisiones de dos cifras también y siguen explicándose en los colegios, ¿verdad? Pues eso, que como el saber no ocupa lugar... ¡te dejamos los pasos a seguir para hacerlo!
- La representación binaria de un carácter ASCII consta de 8 bits, así que separa el código binario en grupos de 8 bits (un byte) para cada carácter.
- Convierte cada grupo de bits a su equivalente decimal.
- Consulta una tabla de equivalencia, que relacione los valores decimales con los caracteres ASCII correspondientes.
- Asigna el carácter ASCII correspondiente a cada valor decimal obtenido.
- Repite los pasos anteriores para cada grupo de 8 bits, hasta que hayas convertido todo el código binario.
Tabla de equivalencia ASCII para el alfabeto en mayúscula
Carácter | Valor decimal | Valor binario |
A | 65 | 01000001 |
B | 66 | 01000010 |
C | 67 | 01000011 |
D | 68 | 01000100 |
E | 69 | 01000101 |
F | 70 | 01000110 |
G | 71 | 01000111 |
H | 72 | 01001000 |
I | 73 | 01001001 |
J | 74 | 01001010 |
K | 75 | 01001011 |
L | 76 | 01001100 |
M | 77 | 01001101 |
N | 78 | 01001110 |
O | 79 | 01001111 |
P | 80 | 01010000 |
Q | 81 | 01010001 |
R | 82 | 01010010 |
S | 83 | 01010011 |
T | 84 | 01010100 |
U | 85 | 01010101 |
V | 86 | 01010110 |
W | 87 | 01010111 |
X | 88 | 01011000 |
Y | 89 | 01011001 |
Z | 90 | 01011010 |
Tabla de equivalencia ASCII para el alfabeto en minúscula
Carácter | Valor decimal | Valor binario |
a | 97 | 01100001 |
b | 98 | 01100010 |
c | 99 | 01100011 |
d | 100 | 01100100 |
e | 101 | 01100101 |
f | 102 | 01100110 |
g | 103 | 01100111 |
h | 104 | 01101000 |
i | 105 | 01101001 |
j | 106 | 01101010 |
k | 107 | 01101011 |
l | 108 | 01101100 |
m | 109 | 01101101 |
n | 110 | 01101110 |
o | 111 | 01101111 |
p | 112 | 01110000 |
q | 113 | 01110001 |
r | 114 | 01110010 |
s | 115 | 01110011 |
t | 116 | 01110100 |
u | 117 | 01110101 |
v | 118 | 01110110 |
w | 119 | 01110111 |
x | 120 | 01111000 |
y | 121 | 01111001 |
z | 122 | 01111010 |
Tabla de equivalencia ASCII para los números del 0 al 9
Carácter | Valor decimal | Valor binario |
0 | 48 | 00110000 |
1 | 49 | 00110001 |
2 | 50 | 00110010 |
3 | 51 | 00110011 |
4 | 52 | 00110100 |
5 | 53 | 00110101 |
6 | 54 | 00110110 |
7 | 55 | 00110111 |
8 | 56 | 00111000 |
9 | 57 | 00111001 |
Sabiendo esto, supongamos que tenemos el código binario "01000001 01000010 01000011". Siguiendo los pasos mencionados anteriormente deberíamos:
- Separar el código binario en grupos de 8 bits: "01000001", "01000010", "01000011".
- Convertir cada grupo de bits a decimal: 65, 66, 67.
- Consultar la tabla de equivalencia ASCII y encontrar los caracteres correspondientes: "A", "B" y "C".
- El resultado sería "ABC", que es la representación ASCII del código binario dado.
Ten en cuenta siempre que los códigos ASCII van del 0 al 127 y que cada carácter se representa con 8 bits, ¡el resto está chupado!
Por suerte, crear una página web a día de hoy resulta mucho más sencillo que todo esto gracias a las interfaces visuales de las que disponemos. Aunque si hay algo realmente sencillo es contratar un alojamiento web de calidad para tus sitios web, y mejor aún, ¡pagando lo justo por él!
Conversión de ASCII a texto
La conversión entre ASCII y texto es primordial a la hora de programar y gestionar datos, ya que este código permite representar texto en formato numérico, lo que facilita el almacenamiento y procesamiento de información en sistemas informáticos.
Por ejemplo, en lenguajes de programación como C, las cadenas de texto se almacenan como secuencias de códigos ASCII, lo que simplifica operaciones como su comparación y su manipulación. Además, la conversión de texto a ASCII y viceversa es importante en la transmisión de datos, ya que asegura que la información se interprete de forma correcta entre diferentes sistemas y plataformas.
Como ves, las características del código ASCII son muchas y muy variadas, ¡y aún nos faltan algunas por descubrir!
Características y limitaciones del código ASCII
Hasta ahora hemos hablado mayormente de las ventajas del código ASCII, pero lo cierto es que también tiene algunas desventajas que conviene conocer. Por eso hemos elaborado un breve listado con sus principales beneficios y contras, ¡para que seas tú quien los ponga en la balanza y decidas!
Entre las mejores funcionalidades de ASCII está que utiliza una codificación de 7 bits, permitiendo representar 128 caracteres de forma sencilla, así como que es ampliamente compatible con multitud de sistemas y dispositivos, lo que garantiza una comunicación efectiva entre ellos. Además, proporciona un estándar común para la representación de texto, facilitando el intercambio de información.
En cuanto a sus limitaciones, es importante decir que solo incluye el alfabeto inglés y números y símbolos básicos, no puede representar caracteres acentuados, letras de alfabetos no latinos ni símbolos gráficos complejos, y que, con el avance de la tecnología y la necesidad de representar una mayor variedad de caracteres, ASCII ha sido superado por estándares más completos como Unicode.
Iconos y arte ASCII
El arte ASCII es una forma de diseño gráfico que utiliza caracteres de texto para crear imágenes y figuras.
Es decir, aprovechando los 95 caracteres imprimibles de la tabla ASCII, es posible formar representaciones visuales mediante la adecuada colocación de letras, números y símbolos.
Por ejemplo, combinando caracteres como barras, guiones y paréntesis, es posible diseñar figuras como caras sonrientes ‘:-D’ o corazones ‘<3’.
- Cara sonriente: :-)
- Pez: ><(((('>
- Gato: =^.^=
Por supuesto, si te atreves, puedes combinar un gran número de líneas de texto para elaborar diseños más complejos, ¡como este árbol de Navidad!
*
***
*****
*******
|||
No te preocupes, existen infinidad de herramientas y generadores online de iconos ASCII que te facilitarán la labor. ¡Seguro que no imaginabas para nada todas las posibilidades que ofrecía el código ASCII!
Cómo escribir códigos ASCII con el teclado
Ahora que sabes manejarte con cualquier tabla de código ASCII y tienes claro también cómo crear imágenes en código ASCII, te interesa saber cómo escribirlo directamente con tu teclado. ¡Por eso hemos elaborado una breve guía paso a paso con la que facilitarte las cosas lo máximo posible!
- Activar el teclado numérico (Num Lock), pues es el que permitirá que los códigos ALT funcionen.
- Mantener pulsada la tecla ALT del lado izquierdo o derecho en Windows, o la tecla Option en macOS, para poder acceder a los caracteres especiales.
- Teclear el código ASCII en el teclado numérico manteniendo pulsada la tecla ALT, e ingresando el código decimal correspondiente, como por ejemplo ‘ALT + 165’ para la letra ‘ñ’ en Windows.
- Soltar ALT para que el sistema inserte automáticamente el carácter asociado al código.
- Usar el Mapa de caracteres si es necesario. En Windows, tendrás que abrir ‘Character Map’ para buscar el símbolo y ver su código ALT. En macOS, por su parte, tendrás que usar la tecla Option + una letra o accesos rápidos del visor de caracteres para poder insertar símbolos especiales.
- Probar diferentes códigos entre el 128 y el 255 para obtener caracteres extendidos en función de la página de código que estés utilizando.
Eso sí, ten en cuenta que algunos editores o terminales necesitan una codificación ANSI/Windows‑1252 para mostrar correctamente los caracteres extendidos, así que comprueba que todo está ok y, si es así, siéntete libre de experimentar, ¡exactamente lo mismo que te recomendaríamos en tus primeros pasos con nuestro Creador de Páginas Web gratuito!
ASCII extendido vs. ASCII estándar
Antes de adentrarte en las principales diferencias entre ASCII base y su extensión, lo mejor es que tengas claro qué ofrece cada una de estas dos opciones.
El ASCII estándar ofrece 128 caracteres, mientras que el extendido, construido sobre este, añade algunos más utilizando para ello un octavo bit que le permite incluir símbolos y letras de distintos idiomas.
- ASCII estándar (US‑ASCII): Usa códigos del 0 al 127 (7 bits) e incluye caracteres de control (0–31), símbolos básicos, letras sin acento y números.
- ASCII extendido: Usa códigos del 128 al 255 (8 bits), y en su caso incluye caracteres adicionales como acentos, símbolos gráficos y letras de otros idiomas en función de la página de código (CP437, CP850, Windows‑1252…).
En cuanto a sus principales diferencias, que es lo que habrás venido a buscar, las siguientes son las más básicas que debes conocer.
- El rango de códigos de ASCII estándar es de 0 a 127 (7 bits), mientras que el bit extra de ASCII extendido le permite ampliar de 0 a 255 (8 bits).
- En términos de contenido, ASCII estándar incluye control, letras A–Z/a–z, dígitos y símbolos básicos, a los que ASCII extendido añade acentos (á, ñ), símbolos gráficos (┐) y caracteres monetarios (€).
- ASCII estándar está definido por ANSI desde 1967, pero para la opción extendida no existe un estándar único, pues incluye diferentes variantes según el fabricante/ y el sistema.
- Si nos centramos en su compatibilidad e interoperabilidad, hay que decir que la opción estándar es universalmente compatible. En cambio, la extendida puede provocar errores de visualización si se utiliza la página de código incorrecta (‘mojibake’).
- A día de hoy, ASCII estándar ofrece simplicidad y alta fiabilidad, mientras que ASCII extendido es útil para idiomas europeos o diseño gráfico simple, aunque tiende a ser preferible recurrir a Unicode/UTF‑8.
Usos del código ASCII en programación y desarrollo web
Aunque ASCII puede parecer una tecnología en desuso, lo cierto es que sigue estando vigente y, más aún, siendo fundamental en infinidad de ámbitos del desarrollo. ¡Sigue leyendo para descubrir algunos de sus usos más habituales!
- Manipulación de cadenas y conversión de caracteres: En la mayoría de lenguajes (Python, Java, C++…), funciones como ‘ord()’ y conversiones de tipo permiten transformar caracteres en sus códigos ASCII con facilidad. Esto resulta útil para filtrar caracteres, validar entradas o crear algoritmos que dependen de rangos (por ejemplo, A–Z, a–z).
- Codificación de entidades HTML y URLs: En la web, ASCII sigue presente mediante las entidades HTML (‘<’, ‘&’), que permiten insertar símbolos especiales en el navegador y garantizar así una correcta visualización.
- Protocolos de comunicación y archivos de texto plano: ASCII es el formato base en protocolos tradicionales (SMTP, FTP) y en logs o archivos .txt debido a su ligereza , su universalidad y lo fácilmente legible que resulta tanto para las máquinas como para las personas.
- Control de dispositivos y caracteres especiales en código de bajo nivel: Se usan caracteres de control ASCII como BEL (‘a’), CR (‘r’) o LF (‘n’) para formatear salidas en terminales, impresoras o bien para separar datos.
- ASCII‑art y comentarios visuales dentro de código fuente: Aunque no está tan extendido, son muchos los desarrolladores usan ASCII‑art para incluir cabeceras en código o documentación inline aprovechando su compatibilidad con editores monoespaciados.
- Delimitadores en datos como códigos de barras o transmisiones en serie: En sectores logísticos o sistemas embebidos, se emplean caracteres ASCII concretos, como por ejemplo el código 31, para delimitar y segmentar información.
- Compatibilidad y heredabilidad en entornos legacy: Muchos sistemas antiguos y bases de datos siguen usando ASCII o sus extensiones (Windows‑1252, ISO‑8859‑1), por lo que mantener soporte ASCII evita errores (‘mojibake’) al comunicar información.
Como ves, pese a su antigüedad, el código ASCII sigue siendo una pieza fundamental de la infraestructura digital. Gracias a su simplicidad, su interoperabilidad y su ligereza, sigue muy presente desde en la validación de cadenas hasta en sistemas incorporados y transmisión de datos en la web. Y ahora que lo sabes, ¡seguro que no te cuesta nada dedicar algo de tiempo a aprender a manejarte con él!