Código ASCII
CODIGO ASCII
ASCII (acrónimo inglés de American Standard Code for Information Interchange — Código Estándar Estadounidense para el Intercambio de Información), pronunciado generalmente [áski]1 :6 o [ásci] o [ásqui], es un código de caracteres basado en el alfabeto latino, tal como se usa en inglés moderno. Fue creado en 1963 por el Comité Estadounidense de Estándares (ASA, conocido desde 1969 como el Instituto Estadounidense de Estándares Nacionales, o ANSI) como una refundición o evolución de los conjuntos de códigos utilizados entonces en telegrafía. Más tarde, en 1967, se incluyeron las minúsculas, y se redefinieron algunos códigos de control para formar el código conocido como US-ASCII.
El código ASCII utiliza 7 bits para representar los caracteres, aunque inicialmente empleaba un bit adicional (bit de paridad) que se usaba para detectar errores en la transmisión. A menudo se llama incorrectamente ASCII a otros códigos de caracteres de 8 bits, como el estándar ISO/IEC 8859-1, que es una extensión que utiliza 8 bits para proporcionar caracteres adicionales usados en idiomas distintos al inglés, como el español.1
ASCII fue publicado como estándar por primera vez en 1967 y fue actualizado por última vez en 1986. En la actualidad define códigos para 32 caracteres no imprimibles, de los cuales la mayoría son caracteres de control que tienen efecto sobre cómo se procesa el texto, más otros 95 caracteres imprimibles que les siguen en la numeración (empezando por el carácter espacio).
Casi todos los sistemas informáticos actuales utilizan el código ASCII o una extensión compatible para representar textos y para el control de dispositivos que manejan texto como el teclado
Historia:
El código ASCII se desarrolló en el ámbito de la telegrafía y se usó por primera vez comercialmente como un código de tele impresión impulsado por los servicios de datos de Bell. Bell había planeado usar un código de seis bits, derivado de Fieldata, que añadía puntuación y letras minúsculas al más antiguo código de tele impresión Baudot, pero se les convenció para que se unieran al sub comité de la Agencia de Estándares Estadounidense (ASA), que había empezado a desarrollar el código ASCII. Baudot ayudó en la automatización del envío y recepción de mensajes telegráficos, y tomó muchas características del código Morse; sin embargo, a diferencia del código Morse, Baudot usó códigos de longitud constante. Comparado con los primeros códigos telegráficos, el código propuesto por Bell y ASA resultó en una reorganización más conveniente para ordenar listas (especialmente porque estaba ordenado alfabéticamente) y añadió características como la 'secuencia de escape'. La Agencia de Estándares Estadounidense (ASA), que se convertiría más tarde en el Instituto Nacional Estadounidense de Estándares (ANSI), publicó por primera vez el código ASCII en 1963. El ASCII publicado en 1963 tenía una flecha apuntando hacia arriba (↑) en lugar del circunflejo (^) y una flecha apuntando hacia la izquierda en lugar del guion bajo (_). La versión de 1967 añadió las letras minúsculas, cambió los nombres de algunos códigos de control y cambió de lugar los dos códigos de control ACK y ESC de la zona de letras minúsculas a la zona de códigos de control. ASCII fue actualizado en consecuencia y publicado como ANSI X3.4-1968, ANSI X3.4-1977, y finalmente ANSI X3.4-1986. Otros órganos de estandarización han publicado códigos de caracteres que son idénticos a ASCII. Estos códigos de caracteres reciben a menudo el nombre de ASCII, a pesar de que ASCII se define estrictamente solamente por los estándares ASA/ANSI.
¿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
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 de acuerdo a 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:
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.
Unicode:
Unicode es un sistema de codificación de caracteres de 16 bits desarrollado en 1991. Unicode puede representar cualquier caracter 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.
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 |
@ | 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 de acuerdo a 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:
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.
Unicode:
Unicode es un sistema de codificación de caracteres de 16 bits desarrollado en 1991. Unicode puede representar cualquier caracter 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.
Comentarios
Publicar un comentario