Código ASCII: qué es, extendido, tabla de caracteres
ASCII son las siglas de "American Standard Code for Information Interchange", que en español se refiere al Código Estándar Estadounidense para el Intercambio de Información. Se trata de un código de caracteres alfanuméricos, basados en el alfabeto latino, que permiten representar textos en sistemas informáticos.
¿Cómo surge el código ASCII?
El código Morse fue el primero en utilizarse para las comunicaciones de larga distancia. Fue inventado por Samuel F. B. Morse en 1844. Este código está compuesto por puntos y guiones (una especie de código binario). Se usaba para realizar comunicaciones en forma mucho más rápida que Pony Express, el servicio de correo de Estados Unidos en ese entonces. Así pues, el telegrafista, quien debía tener un perfecto conocimiento del código, era una figura clave en esa época.
Se inventaron diversos códigos, entre ellos el código Émile Baudot (también conocido como código Baudot o código Murray).
El 10 de marzo de 1876, el Dr. Graham Bell creó el teléfono: un invento revolucionario para el envío de señales de voz a través de cables. Un hecho interesante es que la Cámara de Representantes recientemente resolvió nombrar a Antonio Meucci como el verdadero inventor del teléfono. De hecho, Meucci presentó una solicitud de patente en 1871, pero solo la renovó hasta 1874.
Las líneas telegráficas dieron lugar a las teleimpresoras: máquinas que podían codificar y decodificar caracteres utilizando el código Baudot (para ese entonces, los caracteres se codificaban utilizando 5 bits y solo se disponía de 32 caracteres). En la década de 1960, se adoptó el código ASCII (American Standard Code for Information Interchange) como el nuevo estándar. Con ASCII, los caracteres se pueden codificar utilizando 8 bits y se obtienen 256 caracteres posibles.
¿Qué es el código ASCII?
La memoria de un ordenador guarda toda la información en formato digital. No hay forma de almacenar caracteres directamente. Cada uno de los caracteres tiene un código digital equivalente. Esto se denomina código ASCII. El código ASCII básico representaba caracteres utilizando 7 bits (para 128 caracteres posibles, enumerados del 0 al 127).
Los códigos del 0 al 31 no se utilizan para caracteres. Estos se denominan caracteres de control, ya que se utilizan para acciones como retorno de carro (CR) y timbre (BEL). Los códigos del 65 al 90 representan las letras mayúsculas. Los códigos del 97 al 122 representan las letras minúsculas (si cambiamos el 6º bit, se pasa de mayúscula a minúscula; esto equivale a agregar 32 al código ASCII en base decimal).
Tabla de caracteres ASCII
Caracter | Código ASCII | Código hexadecimal |
---|---|---|
NUL (Null) | 0 | 00 |
SOH (Start of heading) | 1 | 01 |
STX (Start of text) | 2 | 02 |
ETX (End of text) | 3 | 03 |
EOT (End of transmission) | 4 | 04 |
ENQ (Enquiry) | 5 | 05 |
ACK (Acknowledge) | 6 | 06 |
BEL (Bell) | 7 | 07 |
BS (Backspace) | 8 | 08 |
TAB (Horizontal tabulation, tabulación horizontal) | 9 | 09 |
LF (Line Feed, salto de línea) | 10 | 0A |
VT (Vertical tabulation, tabulación vertical) | 11 | 0B |
FF (Form feed) | 12 | 0C |
CR (Carriage return, retorno de carro) | 13 | 0D |
SO (Shift out) | 14 | 0E |
SI (Shift in) | 15 | 0F |
DLE (Data link escape) | 16 | 10 |
DC1 (Device control 1) | 17 | 11 |
DC2 (Device control 2) | 18 | 12 |
DC3 (Device control 3) | 19 | 13 |
DC4 (Device control 4) | 20 | 14 |
NAK (Negative acknowledgement) | 21 | 15 |
SYN (Synchronous idle) | 22 | 16 |
ETB (End of transmission block, fin de bloque de transmisión) | 23 | 17 |
CAN (Cancel, cancelar) | 24 | 18 |
EM (End of medium, fin de medio) | 25 | 19 |
SUB (Substitute, sustituto) | 26 | 1A |
ESC (Escape, carácter de escape) | 27 | 1B |
FS (File separator, separador de archivos) | 28 | 1C |
GS (Group separator, separador de grupo) | 29 | 1D |
RS (Record separator, separador de registros) | 30 | 1E |
US (Unit separator, separador de unidades) | 31 | 1F |
SP (Space, espacio) | 32 | 20 |
! | 33 | 21 |
" | 34 | 22 |
# | 35 | 23 |
$ | 36 | 24 |
% | 37 | 25 |
& | 38 | 26 |
' | 39 | 27 |
( | 40 | 28 |
) | 41 | 29 |
* | 42 | 2A |
+ | 43 | 2B |
, | 44 | 2C |
- | 45 | 2D |
. | 46 | 2E |
/ | 47 | 2F |
0 | 48 | 30 |
1 | 49 | 31 |
2 | 50 | 32 |
3 | 51 | 33 |
4 | 52 | 34 |
5 | 53 | 35 |
6 | 54 | 36 |
7 | 55 | 37 |
8 | 56 | 38 |
9 | 57 | 39 |
: | 58 | 3A |
; | 59 | 3B |
< | 60 | 3C |
= | 61 | 3D |
> | 62 | 3E |
? | 63 | 3F |
@ (arroba) | 64 | 40 |
A | 65 | 41 |
B | 66 | 42 |
C | 67 | 43 |
D | 68 | 44 |
E | 69 | 45 |
F | 70 | 46 |
G | 71 | 47 |
H | 72 | 48 |
I | 73 | 49 |
J | 74 | 4A |
K | 75 | 4B |
L | 76 | 4C |
M | 77 | 4D |
N | 78 | 4E |
O | 79 | 4F |
P | 80 | 50 |
Q | 81 | 51 |
R | 82 | 52 |
S | 83 | 53 |
T | 84 | 54 |
U | 85 | 55 |
V | 86 | 56 |
W | 87 | 57 |
X | 88 | 58 |
Y | 89 | 59 |
Z | 90 | 5A |
[ | 91 | 5B |
\ | 92 | 5C |
] | 93 | 5D |
^ | 94 | 5E |
_ | 95 | 5F |
' | 96 | 60 |
a | 97 | 61 |
b | 98 | 62 |
c | 99 | 63 |
d | 100 | 64 |
e | 101 | 65 |
f | 102 | 66 |
g | 103 | 67 |
h | 104 | 68 |
i | 105 | 69 |
j | 106 | 6A |
k | 107 | 6B |
l | 108 | 6C |
m | 109 | 6D |
n | 110 | 6E |
o | 111 | 6F |
p | 112 | 70 |
q | 113 | 71 |
r | 114 | 72 |
s | 115 | 73 |
t | 116 | 74 |
u | 117 | 75 |
v | 118 | 76 |
w | 119 | 77 |
x | 120 | 78 |
y | 121 | 79 |
z | 122 | 7A |
{ | 123 | 7B |
124 | 7C | |
} | 125 | 7D |
~ | 126 | 7E |
Tecla de borrar | 127 | 7F |
Tabla de caracteres ASCII extendido
El ASCII se desarrolló para utilizarse con el idioma inglés. No posee caracteres acentuados, o caracteres específicos de otros idiomas. Para codificar estos caracteres, se necesitaba un sistema de códigos distinto. El código ASCII se extendió a 8 bits (el equivalente a un byte) a fin de codificar más caracteres (esto se denomina código ASCII extendido). Este código asigna los valores del 0 al 255 (codificados en 8 bits, es decir, en 1 byte) para las mayúsculas, las minúsculas, los dígitos, las marcas de puntuación y otros símbolos (incluyendo los caracteres acentuados del código ISO-Latín 1).
Nota: el código ASCII extendido no está estandarizado y varía en función de la plataforma en que se utiliza.
Los dos grupos de caracteres más comunes del código ASCII extendido son el código extendido ASCII OEM (integrado en el primer PC de IBM) y el código extendido ASCII ANSI (utilizado por los sistemas operativos actuales).
El código extendido ASCII OEM
El código extendido ASCII ANSI
¿Cuál es el código EBCDIC?
El código EBCDIC (en castellano, código de intercambio decimal binario extendido), desarrollado por IBM, se utiliza para codificar caracteres con 8 bits. A pesar de que IBM lo utiliza en muchos de sus equipos, no ha tenido tanto éxito como ASCII.
¿Qué es Unicode?
Unicode es un sistema de codificación de caracteres de 16 bits desarrollado en 1991. Unicode puede representar cualquier carácter a través de un código de 16 bits, independientemente del sistema operativo o el idioma de programación utilizado. Incluye casi todos los alfabetos actuales (como el árabe, el armenio, el cirílico, el griego, el hebreo y el latín) y es compatible con el código ASCII. Encontrarás una lista de todos los códigos que se utilizan en Unicode en http://www.unicode.org.