Sei sulla pagina 1di 14

Codigo ASSCII

ASCII - American Standard Code for Information


Interchange
Quienes trabajan con el Procesamiento Electrónico de Datos (PED) y con Internet es
probable que ya conozcan el acrónimo ASCII, pero ¿qué significa? El término hace
referencia a una codificación fija de caracteres que asigna determinados códigos a
caracteres imprimibles como letras, números y signos de puntuación y a caracteres de
control no imprimibles. La codificación ASCII se utiliza para definir la forma como los
dispositivos electrónicos, como ordenadores o smartphones, representan visualmente
estos caracteres. Esto es un componente muy importante del trabajo del programador,
pero el usuario de a pie también puede encontrar útil comprender cómo funcionan los
caracteres ASCII. Para consultar los caracteres cada vez que lo necesites, te
presentamos también una práctica tabla de ASCII.

Índice
1. Breve historia de la codificación ASCII
2. ¿Qué es el código ASCII?
3. Tabla ASCII: un resumen de todos los caracteres ASCII
4. Ejemplo: conversión de caracteres ASCII
5. Código ASCII: utilidad y ámbitos de aplicación

Definición
El código ASCII hace referencia al American Standard Code for Information
Interchangey, con ello, al precursor estadounidense de ISO 646 (conjunto de caracteres
internacional). ASCII es un código de 7 bits con 128 caracteres (27) definidos, pero además
cuenta con 33 caracteres no imprimibles y 95 imprimibles y comprende tanto letras, signos
de puntuación y números como caracteres de control.

Breve historia de la codificación ASCII


La American Standards Association (ASA, más conocida en la actualidad como ANSI por
American National Standards Institute) aprueba el American Standard Code for
Information Interchange (ASCII) ya en el año 1963, contribuyendo así con indicaciones
obligatorias a la forma en que los dispositivos electrónicos han de representar los diversos
caracteres. Debido a que se trata de un estándar puramente estadounidense, a veces
también se habla de él como US ASCII. Algunos de sus predecesores son el código morse
o las codificaciones utilizadas en el télex o teletipo: un código estandarizado (por ejemplo,
una sucesión determinada de señales acústicas) que se traduce en texto. La codificación
ASCII se creó porque los ordenadores no pueden comprender nuestro alfabeto, pues sus
procesos internos se basan en el sistema binario.

Hasta hoy, el código ASCII solo se ha modificado en contadas ocasiones para adaptarse a
las nuevas exigencias. Existen versiones ampliadas que, por ejemplo, utilizan un octavo bit
para representar unidades nacionales, como es el caso de los símbolos diacríticos como
los acentos del español o del francés. La norma Latin-1 (ISO 88591-1), necesaria para
algunos idiomas de Europa occidental, se basa en los caracteres ASCII. Cambiar de un
alfabeto a otro no es posible, lo que ha hecho que se hayan impuesto códigos basados en
Unicode como UTF-8, pues tiene capacidad para más de un millón de caracteres
diferentes. Además, es compatible con ASCII y codifica los primeros 128 caracteres.

¿Qué es el código ASCII?


ASCII es un estándar para la representación de caracteres en dispositivos electrónicos.
Para entender lo que significa es necesario conocer cómo funciona un ordenador: en él los
procesos de cálculo se basan siempre en el sistema binario, lo que significa que ceros y
unos determinan las operaciones. Por ello, ASCII se erige sobre este sistema. El estándar
ASCII original define diversos caracteres en siete bits, es decir, siete posiciones que
muestran 0 o 1. El octavo bit, que pertenece a un byte completo, se utiliza normalmente
para los análisis. Las versiones ampliadas basadas en el American Standard Code for
Information Interchange emplean dicho bit para incrementar los caracteres existentes a
256 (28).

Así, a cada carácter le corresponde una secuencia de 7 cifras formada por ceros y unos,
que pueden aparecer como números decimales o hexadecimales. Los caracteres ASCII se
reparten en varios grupos:

 Caracteres de control (0–31 & 127): los caracteres de control no son caracteres
imprimibles. Estos transmiten comandos al PC o a la impresora y se basan en
técnicas de teletipo. Con ellos también se pueden colocar saltos de línea o
tabuladores, aunque muchos apenas se utilizan en la actualidad.

 Caracteres especiales (32–47 / 58–64 / 91–96 / 123–126): estos comprenden


todos los imprimibles que no son ni letras ni números, como, por ejemplo, los
signos de puntuación o los símbolos matemáticos. También se incluye el espacio
en blanco, que es considerado como carácter imprimible pero no visible y, por lo
tanto, no pertenece a los caracteres de control como se podría suponer.

 Números (30–39): los números engloban las diez cifras árabes del cero al nueve.

 Letras (65–90 / 97–122): las letras se dividen en dos bloques, el primero para las
mayúsculas y el segundo para las minúsculas.

Hecho
En un principio, el octavo bit fue concebido para comprobar la presencia de errores en los
datos. El denominado bit de paridad permite que el receptor de la cadena de bits
identifique posibles incongruencias. Sin embargo, solo puede saberse que ha ocurrido un
error, pero no a qué se debe. Por ello, la comprobación de la paridad no resulta muy
adecuada para corregir errores.

Tabla ASCII: un resumen de todos los caracteres ASCII


Habitualmente, en las tablas ASCII los valores se representan de un modo decimal, binario
y hexadecimal. Los primeros dos tipos se recogen debido a que, en general, son sistemas
de caracteres usados tanto por humanos como por máquinas. Por el contrario, el sistema
hexadecimal tiene la ventaja de que comprende 16 caracteres (0–9 + A–F) y puede
representar números grandes con menos posiciones que las otras dos variantes. Así, un
byte siempre puede representarse con máximo 2 cifras.
Código
Bin. Hex. Dec. ASCII Explicación Grupo

0000000 0 0 NUL El carácter nulo exhorta al Caracteres


dispositivo a que no haga nada de control
(Null)

0000001 1 1 SOH Inicia un encabezado (Start of Caracteres


Heading) de control

0000010 2 2 STX Concluye el encabezado y señala el Caracteres


inicio de un mensaje (Start of Text) de control

0000011 3 3 ETX Muestra el final del mensaje (End of Caracteres


Text) de control

0000100 4 4 EOT Marca el final de toda la transmisión Caracteres


(End of Transmission) de control

0000101 5 5 ENQ Una consulta que solicita una Caracteres


respuesta (Enquiry) de control

0000110 6 6 ACK Ofrece una respuesta positiva a una Caracteres


consulta (Acknowledge) de control

0000111 7 7 BEL Produce una señal de audio (Bell) Caracteres


de control

0001000 8 8 BS Permite retroceder un paso con el Caracteres


cursor (Backspace) de control

0001001 9 9 TAB Tabulador horizontal que mueve el Caracteres


(HT) cursor en una línea hacia la de control
siguiente posición predefinida
(Horizontal Tab)

0001010 A 10 LF Hace que el cursor salte a la línea Caracteres


siguiente (Line Feed) de control

0001011 B 11 VT El tabulador vertical hace que el Caracteres


cursor salte a una línea predefinida de control
(Vertical Tab)

0001100 C 12 FF Solicita un salto de página (Form Caracteres


Código
Bin. Hex. Dec. ASCII Explicación Grupo

Feed) de control

0001101 D 13 CR Vuelve a poner el cursor en la Caracteres


primera línea (Carriage Return) de control

0001110 E 14 SO Cambia a una representación Caracteres


especial (Shift Out) de control

0001111 F 15 SI Hace que la representación vuelva Caracteres


a su estado normal (Shift In) de control

0010000 10 16 DLE Se modifica el significado de los Caracteres


siguientes caracteres (Data Link de control
Escape)

0010001 11 17 DC1 Caracteres de control que se Caracteres


asignan en función del dispositivo de control
utilizado para desencadenar unas
funciones específicas (Device
Control)

0010010 12 18 DC2 Caracteres de control que se Caracteres


asignan en función del dispositivo de control
utilizado para desencadenar unas
funciones específicas (Device
Control)

0010011 13 19 DC3 Caracteres de control que se Caracteres


asignan en función del dispositivo de control
utilizado para desencadenar unas
funciones específicas (Device
Control)

0010100 14 20 DC4 Caracteres de control que se Caracteres


asignan en función del dispositivo de control
utilizado para desencadenar unas
funciones específicas (Device
Control)

0010101 15 21 NAK Respuesta negativa a una consulta Caracteres


(Negative Acknowledge) de control
Código
Bin. Hex. Dec. ASCII Explicación Grupo

0010110 16 22 SYN Sincroniza una transferencia de Caracteres


datos aunque no se transmita de control
ninguna señal (Synchronous Idle)

0010111 17 23 ETB Marca el final de un bloque de Caracteres


transmisión (End of Transmission de control
Block)

0011000 18 24 CAN Establece que una transmisión es Caracteres


incorrecta y se tienen que descartar de control
los datos (Cancel)

0011001 19 25 EM Muestra el final del dispositivo de Caracteres


almacenamiento (End of Medium) de control

0011010 1A 26 SUB Sustituto para un carácter erróneo Caracteres


(Substitute) de control

0011011 1B 27 ESC Inicia una secuencia de escape y Caracteres


otorga al carácter siguiente un de control
significado especial (Escape)

0011100 1C 28 FS Marca la separación de bloques de Caracteres


datos lógicos y tiene un orden de control
jerárquico: File como unidad mayor,
Unit como unidad menor (File
Separator, Group Separator, Record
Separator, Unit Separator)

0011101 1D 29 GS Marca la separación de bloques de Caracteres


datos lógicos y tiene un orden de control
jerárquico: File como unidad mayor,
Unit como unidad menor (File
Separator, Group Separator, Record
Separator, Unit Separator)

0011110 1E 30 RS Marca la separación de bloques de Caracteres


datos lógicos y tiene un orden de control
jerárquico: File como unidad mayor,
Unit como unidad menor (File
Separator, Group Separator, Record
Separator, Unit Separator)
Código
Bin. Hex. Dec. ASCII Explicación Grupo

0011111 1F 31 US Marca la separación de bloques de Caracteres


datos lógicos y tiene un orden de control
jerárquico: File como unidad mayor,
Unit como unidad menor (File
Separator, Group Separator, Record
Separator, Unit Separator)

0100000 20 32 SP Espacio (Space) Caracteres


especiales

0100001 21 33 ! Signo de exclamación Caracteres


especiales

0100010 22 34 Comillas dobles, comillas altas Caracteres


especiales

0100011 23 35 # Almohadilla Caracteres


especiales

0100100 24 36 $ Símbolo del dólar Caracteres


especiales

0100101 25 37 % Signo de porcentaje Caracteres


especiales

0100110 26 38 & Et Caracteres


especiales

0100111 27 39 Apóstrofe Caracteres


especiales

0101000 28 40 ( Paréntesis izquierdo Caracteres


especiales

0101001 29 41 ) Paréntesis derecho Caracteres


especiales

0101010 2A 42 * Asterisco Caracteres


especiales

0101011 2B 43 + Signo más Caracteres


Código
Bin. Hex. Dec. ASCII Explicación Grupo

especiales

0101100 2C 44 , Coma Caracteres


especiales

0101101 2D 45 - Signo menos, guión medio Caracteres


especiales

0101110 2E 46 . Punto Caracteres


especiales

0101111 2F 47 / Barra inclinada Caracteres


especiales

0110000 30 48 0 Números

0110001 31 49 1 Números

0110010 32 50 2 Números

0110011 33 51 3 Números

0110100 34 52 4 Números

0110101 35 53 5 Números

0110110 36 54 6 Números

0110111 37 55 7 Números

0111000 38 56 8 Números

0111001 39 57 9 Números

0111010 3A 58 : Dos puntos Caracteres


especiales

0111011 3B 59 ; Punto y coma Caracteres


especiales
Código
Bin. Hex. Dec. ASCII Explicación Grupo

0111100 3C 60 < Menor que Caracteres


especiales

0111101 3D 61 = Igual que Caracteres


especiales

0111110 3E 62 > Mayor que Caracteres


especiales

0111111 3F 63 ? Cierre de interrogación Caracteres


especiales

1000000 40 64 @ Arroba Caracteres


especiales

1000001 41 65 A Mayúsculas

1000010 42 66 B Mayúsculas

1000011 43 67 C Mayúsculas

1000100 44 68 D Mayúsculas

1000101 45 69 E Mayúsculas

1000110 46 70 F Mayúsculas

1000111 47 71 G Mayúsculas

1001000 48 72 H Mayúsculas

1001001 49 73 I Mayúsculas

1001010 4A 74 J Mayúsculas

1001011 4B 75 K Mayúsculas

1001100 4C 76 L Mayúsculas
Código
Bin. Hex. Dec. ASCII Explicación Grupo

1001101 4D 77 M Mayúsculas

1001110 4E 78 N Mayúsculas

1001111 4F 79 O Mayúsculas

1010000 50 80 P Mayúsculas

1010001 51 81 Q Mayúsculas

1010010 52 82 R Mayúsculas

1010011 53 83 S Mayúsculas

1010100 54 84 T Mayúsculas

1010101 55 85 U Mayúsculas

1010110 56 86 V Mayúsculas

1010111 57 87 W Mayúsculas

1011000 58 88 X Mayúsculas

1011001 59 89 Y Mayúsculas

1011010 5A 90 Z Mayúsculas

1011011 5B 91 [ Corchete izquierdo Caracteres


especiales

1011100 5C 92 \ Barra invertida (“backslash”) Caracteres


especiales

1011101 5D 93 ] Corchete derecho Caracteres


especiales

1011110 5E 94 ^ Acento circunflejo Caracteres


especiales
Código
Bin. Hex. Dec. ASCII Explicación Grupo

1011111 5F 95 _ Guión bajo Caracteres


especiales

1100000 60 96 ` Acento grave (“backtick”) Caracteres


especiales

1100001 61 97 a Minúsculas

1100010 62 98 b Minúsculas

1100011 63 99 c Minúsculas

1100100 64 100 d Minúsculas

1100101 65 101 e Minúsculas

1100110 66 102 f Minúsculas

1100111 67 103 g Minúsculas

1101000 68 104 h Minúsculas

1101001 69 105 i Minúsculas

1101010 6A 106 j Minúsculas

1101011 6B 107 k Minúsculas

1101100 6C 108 l Minúsculas

1101101 6D 109 m Minúsculas

1101110 6E 110 n Minúsculas

1101111 6F 111 o Minúsculas

1110000 70 112 p Minúsculas


Código
Bin. Hex. Dec. ASCII Explicación Grupo

1110001 71 113 q Minúsculas

1110010 72 114 r Minúsculas

1110011 73 115 s Minúsculas

1110100 74 116 t Minúsculas

1110101 75 117 u Minúsculas

1110110 76 118 v Minúsculas

1110111 77 119 w Minúsculas

1111000 78 120 x Minúsculas

1111001 79 121 y Minúsculas

1111010 7A 122 z Minúsculas

1111011 7B 123 { Llave izquierda Caracteres


especiales

1111100 7C 124 l Barra vertical (“pipe”) Caracteres


especiales

1111101 7D 125 } Llave derecha Caracteres


especiales

1111110 7E 126 ~ Tilde, virgulilla Caracteres


especiales

1111111 7F 127 DEL Elimina un carácter. Dado que este Caracteres


signo de control tiene los mismos de control
dígitos en todas las posiciones, en
la época de las cintas perforadas se
podía anular otro carácter
troquelando todas las posiciones.
(Delete)

Descarga gratuita - Tabla PDF ASCII


El octavo bit (si se utiliza una versión ampliada; si no, tiene valor nulo) se asigna de forma
diferente dependiendo del programa. En la mayoría de los casos se recurre a una posición
adicional para cumplir con las unidades nacionales y los primeros 128 caracteres
permanecen siempre en su forma original.

Ejemplo: conversión de caracteres ASCII


En ASCII, el sistema convierte a dígitos binarios en caracteres imprimibles y no
imprimibles conforme a un estándar establecido, tal y como se muestra en la tabla anterior.
Los usuarios pueden realizar estos procesos de cálculo incluso sin herramientas
adicionales, pero para ello deben comprender cómo se hacen cálculos binarios o
hexadecimales. En un sistema numérico, cada posición de una potencia se corresponde
con una base determinada, que en el sistema decimal es 10 y que en los sistemas binarios
y hexadecimales es 2 o 16. En este caso se multiplica el valor de la cifra por el valor de la
posición.

Valor de las posiciones en el sistema decimal:

Sistema decimal

100 101 102 103 …

1 10 100 1000 …

Por lo tanto:

7304 = 7 * 10³ + 3 * 10² + 0 * 10¹ + 4 * 10⁰

En los otros dos sistemas funciona de forma análoga:

Sistema binario

20 21 22 23 …

1 2 4 8 …

No obstante, solo hay dos cifras, de ahí:

1011 ≙1 * 2³ + 0 * 2² + 1 * 2¹ + 1 * 2⁰ = 11

Sistema hexadecimal

160 161 162 163 …

1 16 256 4096 …

Como hay 16 cifras, el resultado es:

F1A9 ≙ 15 * 16³ + 1 * 16² + 10 * 16¹ + 9 * 16⁰ = 61865

Con esta información, y la tabla ASCII, se pueden convertir secuencias de caracteres


ASCII en cualquier sistema numérico. Veámoslo con el ejemplo “Digital”:
“D” se corresponde en la tabla ASCII con el valor decimal 68, es decir:

68 = 1 * 2⁶ + 1 * 2² ≙ 1000100

68 = 4 * 16¹ + 4 * 16⁰ ≙ 44

“i” se corresponde con el valor decimal 105, es decir:

105 = 1 * 2⁶ + 1 * 2⁵ + 1 * 2³ + 1 * 2⁰ ≙ 1101001

105 = 6 * 16¹ + 9 * 16⁰ ≙ 69

“g” se corresponde con el valor decimal 103, es decir:

103 = 1 * 2⁶ + 1 * 2⁵ + 1 * 2² + 1 * 2¹ + 1 * 2⁰ ≙ 1100111

103 = 6 * 16¹ + 7 * 16⁰ ≙ 67

“i” se corresponde con el valor decimal 105, así que:

105 = 1 * 2⁶ + 1 * 2⁵ + 1 * 2³ + 1 * 2⁰ ≙ 1101001

105 = 6 * 16¹ + 9 * 16⁰ ≙ 69

“t” se corresponde con el valor decimal 116:

116 = 1 * 2⁶ + 1 * 2⁵ + 1 * 2⁴ + 1 * 2² ≙ 1110100

116 = 7 * 16¹ + 4 * 16⁰ ≙ 74

“a” se corresponde con el valor decimal 97:

97 = 1 * 2⁶ + 1 * 2⁵ + 1 * 2⁰ ≙ 1100001

97 = 6 * 16¹ + 1 * 16⁰ ≙ 61

“l” se corresponde con el valor decimal 108:

108 = 1 * 2⁶ + 1* 2⁵ + 1 * 2³ + 1 * 2² ≙ 1101100

108 = 6 * 16¹ + 12 * 16⁰ ≙ 6C

Por lo tanto, la palabra de ejemplo también puede representarse así:

Carácter D i g i t a l

Dec. 68 105 103 105 116 97 108

Bin. 1000100 1101001 1100111 1101001 1110100 1100001 1101100

Hex. 44 69 67 69 74 61 6C

Consejo
Windows permite introducir tanto caracteres Unicode como ASCII mediante atajos de
teclado. Mantén pulsada la tecla Alt e introduce el valor decimal del carácter utilizando los
números del teclado.

Código ASCII: utilidad y ámbitos de aplicación


La codificación ASCII se utiliza bastante en la actualidad, aunque UTF-8 también se ha
vuelto muy importante para la representación de textos. A partir de 2008
aproximadamente, Unicode desbancó del primer puesto en la World Wide Web a la versión
más antigua de la codificación de caracteres. La ventaja de UTF-8 es que el código es
prácticamente compatible con las versiones anteriores: ASCII es un subconjunto de UTF-8,
por lo que los primeros 128 caracteres son idénticos. Debido a que el American Standard
Code for Information Interchange es considerado como un mínimo denominador común
de la mayoría de las nuevas formas de comunicación, la antigua codificación sigue
utilizándose en los correos electrónicos y los URL.

Hecho
Mientras tanto, los usuarios también pueden utilizar Unicode para crear emails. Además,
los dominios pueden contener símbolos como la diéresis gracias a los nombres de
dominios internacionalizados. Antes de enviarse, en ambos casos el texto tendrá que
convertirse al formato ASCII, lo que sucede de forma automática, de modo que el usuario
no es consciente de la conversión.

Asimismo, el código ASCII se utiliza desde hace tiempo más para fines artísticos que para
fines técnicos. El ASCII Art es un arte que solo emplea caracteres imprimibles de la tabla
de ASCII para crear imágenes, cuya gama va desde trazos pasando por sencillas líneas
patrón hasta verdaderos cuadros. Los artistas ASCII se valen así de las diferentes
luminosidades de los caracteres para representar incluso matices.

Potrebbero piacerti anche