miércoles, 30 de marzo de 2011

CODIGO ASCII


CODIGO ASCII
ASCII (acrónimo inglés de American Standard Code for Information Interchange — Código Estadounidense Estándar para el Intercambio de Información), pronunciado generalmente [áski], es un código de caracteres basado en el alfabeto latino tal como se usa en inglés moderno y en otras lenguas occidentales. 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-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.
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 33 caracteres no imprimibles, de los cuales la mayoría son caracteres de control obsoletos 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. No deben confundirse los códigos ALT+número de teclado con los códigos ASCII.
Los caracteres de control ASCII
El código ASCII reserva los primeros 32 códigos (numerados del 0 al 31 en decimal) para caracteres de control: códigos no pensados originalmente para representar información imprimible, sino para controlar dispositivos (como impresoras) que usaban ASCII. Por ejemplo, el carácter 10 representa la función "nueva línea" (line feed), que hace que una impresora avance el papel, y el carácter 27 representa la tecla "escape" que a menudo se encuentra en la esquina superior izquierda de los teclados comunes.
El código 127 (los siete bits a uno), otro carácter especial, equivale a "suprimir" ("delete"). Aunque esta función se asemeja a otros caracteres de control, los diseñadores de ASCII idearon este código para poder "borrar" una sección de papel perforado (un medio de almacenamiento popular hasta la década de 1980) mediante la perforación de todos los agujeros posibles de una posición de carácter concreta, reemplazando cualquier información previa. Dado que el código 0 era ignorado, fue posible dejar huecos (regiones de agujeros) y más tarde hacer correcciones.
Muchos de los caracteres de control ASCII servían para marcar paquetes de datos, o para controlar protocolos de transmisión de datos (por ejemplo ENQuiry, con el significado: ¿hay alguna estación por ahí?, ACKnowledge: recibido o ", Start Of Header: inicio de cabecera, Start of TeXt: inicio de texto, End of TeXt: final de texto, etc.). ESCape y SUBstitute permitían a un protocolo de comunicaciones, por ejemplo, marcar datos binarios para que contuviesen códigos con el mismo código que el carácter de protocolo, y que el receptor pudiese interpretarlos como datos en lugar de como caracteres propios del protocolo.
Los diseñadores del código ASCII idearon los caracteres de separación para su uso en sistemas de cintas magnéticas.
Dos de los caracteres de control de dispositivos, comúnmente llamados XON y XOFF generalmente ejercían funciones de caracteres de control de flujo para controlar el flujo a hacia un dispositivo lento (como una impresora) desde un dispositivo rápido (como un ordenador), de forma que los datos no saturasen la capacidad de recepción del dispositivo lento y se perdiesen.
Los primeros usuarios de ASCII adoptaron algunos de los códigos de control para representar "metainformación" como final-de-línea, principio/final de un elemento de datos, etc. Estas asignaciones a menudo entraban en conflicto, así que parte del esfuerzo de convertir datos de un formato a otro comporta hacer las conversiones correctas de metainformación. Por ejemplo, el carácter que representa el final-de-línea en ficheros de texto varía con el sistema operativo. Cuando se copian archivos de un sistema a otro, el sistema de conversión debe reconocer estos caracteres como marcas de final-de-línea y actuar en consecuencia.
Actualmente los usuarios de ASCII usan menos los caracteres de control, (con algunas excepciones como "retorno de carro" o "nueva línea"). Los lenguajes modernos de etiquetas, los protocolos modernos de comunicación, el paso de dispositivos basados en texto a basados en gráficos, el declive de las teleimpresoras, las tarjetas perforadas y los papeles continuos han dejado obsoleta la mayoría de caracteres de control.


Binario
Decimal
Hex
Abreviatura
Repr
AT
Nombre/Significado
0000 0000
0
00
NUL
^@
Carácter Nulo
0000 0001
1
01
SOH
^A
Inicio de Encabezado
0000 0010
2
02
STX
^B
Inicio de Texto
0000 0011
3
03
ETX
^C
Fin de Texto
0000 0100
4
04
EOT
^D
Fin de Transmisión
0000 0101
5
05
ENQ
^E
Consulta
0000 0110
6
06
ACK
^F
Acuse de recibo
0000 0111
7
07
BEL
^G
Timbre
0000 1000
8
08
BS
^H
Retroceso
0000 1001
9
09
HT
^I
Tabulación horizontal
0000 1010
10
0A
LF
^J
Salto de linea
0000 1011
11
0B
VT
^K
Tabulación Vertical
0000 1100
12
0C
FF
^L
De avance
0000 1101
13
0D
CR
^M
Retorno de carro
0000 1110
14
0E
SO
^N
Mayúsculas fuera
0000 1111
15
0F
SI
^O
En mayúsculas
0001 0000
16
10
DLE
^P
Enlace de datos / Escape
0001 0001
17
11
DC1
^Q
Dispositivo de control 1 — oft. XON
0001 0010
18
12
DC2
^R
Dispositivo de control 2
0001 0011
19
13
DC3
^S
Dispositivo de control 3 — oft. XOFF
0001 0100
20
14
DC4
^T
Dispositivo de control 4
0001 0101
21
15
NAK
^U
Confirmación negativa
0001 0110
22
16
SYN
^V
Síncrono en espera
0001 0111
23
17
ETB
^W
Fin de Transmision del Bloque
0001 1000
24
18
CAN
^X
Cancelar
0001 1001
25
19
EM
^Y
Finalización del Medio
0001 1010
26
1A
SUB
^Z
Substituto
0001 1011
27
1B
ESC
^[ or ESC
Escape
0001 1100
28
1C
FS
^\
Separador de fichero
0001 1101
29
1D
GS
^]
Separador de grupo
0001 1110
30
1E
RS
^^
Separador de registro
0001 1111
31
1F
US
^_
Separador de unidad
0111 1111
127
7F
DEL
^?, Delete o Backspace
Eliminar

No hay comentarios:

Publicar un comentario