ASCII ( código estándar inglés americano para el intercambio de información , [ ˈ æ s . k i ] [ 1 ] ) es el nombre de una tabla ( codificación , conjunto), en la que los códigos numéricos están asociados con algunos códigos impresos y no comunes . -caracteres imprimibles. La mesa fue desarrollada y estandarizada en los EE . UU . en 1963.
La tabla ASCII define códigos para caracteres:
Inicialmente (1963), ASCII se desarrolló para codificar caracteres cuyos códigos caben en 7 bits (128 caracteres; 2 7 \u003d 128), y el bit más significativo No. 7 (numeración desde cero) se usó para controlar errores que ocurrieron durante la transmisión de datos . En la primera versión, solo se codificaban letras mayúsculas. Las bandas (grupos de 16 caracteres) números 6 y 7 (la numeración comienza desde 0) se reservaron para una mayor expansión. Se ha debatido si usar esta área para letras minúsculas o caracteres de control.
En 1965 se preparó una nueva edición de ASCII, que nunca llegó a publicarse. No se usó en ninguna parte excepto en las terminales IBM 2260/2848 . La siguiente especificación se publicó en 1967 y todos los caracteres que contiene no han cambiado de posición en la tabla desde entonces.
Con el tiempo, la codificación se amplió a 256 caracteres (2 8 = 256); los códigos de los primeros 128 caracteres no han cambiado. ASCII comenzó a percibirse como la mitad de la codificación de 8 bits, y el "ASCII extendido" se denominó ASCII con el octavo bit involucrado (por ejemplo, KOI-8 ).
Usando el carácter de retroceso (BS) (retroceso ) en la impresora , puede imprimir un carácter encima de otro. En ASCII, puede agregar signos diacríticos a las letras de la misma manera , por ejemplo:
nota _ En las fuentes más antiguas , el apóstrofe "'" se dibujaba inclinado hacia la izquierda (compárese: " ` " y " ´ "), y la tilde "~" se desplazaba hacia arriba (compárese: " ~ " y " ˜ "), por lo que solo adecuado para el papel de los símbolos agudos "´" y "tilde en la parte superior".
Si imprime el mismo carácter dos veces en una posición, obtiene un carácter en negrita ; si imprime un carácter en una posición y luego un guión bajo "_" , obtiene un carácter subrayado:
Esta técnica todavía se usa hoy en día, por ejemplo, en el sistema de ayuda man.
El estándar ISO 646 (ECMA-6) prevé la posibilidad de colocar caracteres nacionales en ASCII. Para ello, se propone sustituir los caracteres " @ ", " [ ", " \ ", " ] ", " ^ ", " ` ", " { ", " | "", " } ", " ~ ". Además, en lugar del signo de libra "#" , se puede colocar el símbolo de libra "£" , y en lugar del símbolo de dólar "$" - el signo de moneda "¤" . Una variante de ASCII que no contiene caracteres nacionales se denomina "US-ASCII" o "versión de referencia internacional".
Para algunos idiomas (con escritura no latina : ruso , griego , árabe , hebreo , etc.) hubo modificaciones más radicales de ASCII:
Posteriormente, resultó más conveniente utilizar codificaciones de 8 bits ( páginas de códigos ), en las que la mitad inferior de la tabla de códigos (0-127) está ocupada por caracteres US-ASCII, y la mitad superior (128-255 ) está ocupado por caracteres adicionales, incluido un conjunto de caracteres nacionales. Por lo tanto, la mitad superior de la tabla ASCII (antes de la adopción generalizada de Unicode ) se usaba mucho para representar caracteres localizados, las letras del idioma local. La falta de un estándar único para colocar caracteres cirílicos en la tabla ASCII causó muchos problemas con las codificaciones ( KOI-8 , Windows-1251 , etc.). Los hablantes de otros idiomas con escrituras no latinas también sufrieron debido a la presencia de varias codificaciones diferentes.
Los primeros 128 caracteres del estándar Unicode son los mismos que los caracteres US-ASCII correspondientes.
tabla ASCII
.0 | .una | .2 | .3 | .cuatro | .5 | .6 | .7 | .ocho | .9 | .A | .B | .C | .D | .MI | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0. | NULO | SOL | STX | ETX | fin de semana | ENQ | ACK | BEL | licenciatura | HT | LF | Vermont | FF | RC | ASI QUE | SI |
una. | DLE | DC1 | DC2 | DC3 | DC4 | NAK | SYN | ETB | PUEDEN | EM | SUB | ESC | FS | SG | RS | A NOSOTROS |
2. | ! | " | # | ps | % | & | ' | ( | ) | * | + | , | - | . | / | |
3. | 0 | una | 2 | 3 | cuatro | 5 | 6 | 7 | ocho | 9 | : | ; | < | = | > | ? |
cuatro | @ | A | B | C | D | mi | F | GRAMO | H | yo | j | k | L | METRO | norte | O |
5. | PAGS | q | R | S | T | tu | V | W | X | Y | Z | [ | \ | ] | ^ | _ |
6. | ` | a | b | C | d | mi | F | gramo | h | i | j | k | yo | metro | norte | o |
7. | pags | q | r | s | t | tu | v | w | X | y | z | { | | | } | ~ | DEL |
En la primera versión del estándar ASCII (1963), en las posiciones 0x5e (94) y 0x5f (95) estaban los caracteres "flecha hacia arriba" y "flecha hacia la izquierda", respectivamente. El estándar ECMA-6 (1965) los reemplazó con el signo de intercalación y el guión bajo "_" , respectivamente.
En la Unión Soviética, el estándar fue aprobado en forma de tabla de la versión de referencia internacional del código KOI-7 H0 GOST 27463-87 (ST SEV 356-86) “Sistemas de procesamiento de información. Conjuntos de caracteres codificados de 7 bits". [2]
La tabla ASCII fue creada para el intercambio de información por teletipo . El conjunto incluía caracteres no imprimibles que se usaban como comandos para controlar el teletipo. Se utilizaron comandos similares en otras herramientas de mensajería precomputadoras ( código Morse , alfabeto de semáforos ), dadas las características específicas del dispositivo. La mayoría de los caracteres de control ASCII pronto perdieron su propósito y no se utilizan en los sistemas informáticos modernos.
Nota: más adelante en la lista, los códigos de caracteres se escriben en el sistema numérico hexadecimal , después de los nombres de los caracteres.
Los mensajes transmitidos por el canal de comunicación se dividieron en dos partes:
El "encabezado" contenía: direcciones del remitente y del destinatario, suma de verificación , etc .; podría colocarse antes del "texto" o después. El término "texto" era la parte del mensaje destinada a la impresión.
Símbolo | código hexadecimal | Descifrado | Traducción | Descripción |
---|---|---|---|---|
SOL | 01 | Comienzo del encabezado h _ _ | comienzo de "encabezado" | El símbolo de inicio de encabezado (SOH) marca una separación de datos que no son datos: la parte del flujo que contiene direcciones y otros gastos generales. |
STX | 02 | Comienzo de texto _ _ _ | principio de "texto" | Encienda la impresora (TTY). El texto para imprimir estaba ubicado entre los símbolos " STX" y " ETX". |
ETX | 03 | fin de texto _ _ _ | fin del texto" | Apague la impresora (TTY). En estos días, el código " 03" se usa para enviar una señal " SIGINT " a un proceso y se puede escribir presionando la combinación de teclas + . Al recibir dicha señal, el proceso debe salir . CtrlC |
fin de semana | 04 | fin de la transmisión _ _ | fin de transmisión | El símbolo es utilizado por los emuladores de terminal con el significado de " Fin de archivo " ( EOF: inglés e nd of file ) y se puede enviar presionando la combinación de teclas Ctrl+ D. Al recibir dicha señal, el emulador de terminal determinará el proceso que está trabajando actualmente con el terminal y establecerá el indicador de fin de archivo en el flujo de entrada estándar de este proceso ( stdin : eng. st andar d in put stream ) . Como resultado, el proceso dejará de leer stdin y comenzará a procesar los datos leídos. |
ENQ | 05 | preguntar _ | "¡Por favor confirmar!" | |
ACK | 06 | ck ahora repisa | "¡Confirmo!" | El símbolo “ NAK” significa lo contrario: “¡No confirmo!”. |
BEL | 07 | campana l | pitido : campana | El carácter a menudo se representa como "\a" y se usa para hacer sonar el pitido. En una computadora personal moderna , el altavoz incorporado reproducirá el sonido . Por ejemplo, los siguientes comandos pueden reproducir este sonido:
|
licenciatura | 08 | ritmo de espalda _ | devolver un caracter | La tecla se utiliza para borrar el carácter anterior. ← Backspace |
PESTAÑA | 09 | tabulación _ | pestaña horizontal | Denotado como " \t ". A veces llamado " HT" (del inglés horizontal t abulation ) . |
LF | 0A | alimentación de línea _ _ | traducción de línea | Comando para bajar el carro de la impresora una línea hacia abajo. La designación de final de línea de un archivo de texto difiere entre familias de sistemas operativos:
En muchos lenguajes de programación, el símbolo se representa como " \n ". Presionar una tecla mientras se genera texto traduce la línea. ↵ Enter |
Vermont | 0B | pestaña vertical _ _ | pestaña vertical | |
FF | 0C | formulario alimentado _ _ | página ejecutada, nueva página | Comando de impresora : continúa imprimiendo desde el principio de la hoja siguiente. |
RC | 0D | retorno de carruaje _ | retorno de carro | El comando para la impresora es continuar imprimiendo desde el principio de la línea actual ( no desde una nueva línea). En muchos lenguajes de programación, el símbolo " CR" se denota como " \r ". En el sistema operativo Mac , el carácter " CR" (en el pasado) denotaba el final de una línea en un archivo de texto. CRDesde el teclado, se puede ingresar el símbolo “ ” presionando la combinación de teclas: Ctrl+ M. |
ASI QUE | 0E | cambiar _ _ _ | "Cambiar a otra cinta (codificación)" | La otra cinta solía teñirse de rojo. En el futuro, el símbolo se utilizó para cambiar a la codificación nacional. |
SI | 0F | s cambio i n | "Cambiar a la cinta original (codificación)" | El comando para realizar la acción, el reverso de la acción " SO". |
DLE | diez | escape de tinta de datos _ | "Protegiendo el canal de datos" | Los caracteres que siguen a " DLE" deben tratarse como datos y no como caracteres de control. |
DC1 | once | control de dispositivo d 1 _ | Carácter de control del primer dispositivo | El comando para habilitar el lector de cintas perforadas . |
DC2 | 12 | control de dispositivo 2 _ _ | Carácter de control del segundo dispositivo | El comando para encender el perforador . |
DC3 | 13 | control de dispositivo 3 _ _ | Carácter de control del tercer dispositivo | El comando para apagar el lector de cinta perforada. |
DC4 | catorce | control de dispositivo 4 _ _ | Carácter de control del cuarto dispositivo | El comando para apagar el punzón. |
NAK | quince | n negativo a c k reconocimiento | "¡No lo apruebo!" | Carácter inverso " ACK". |
SYN | dieciséis | sincronización _ | Este carácter se transmitía cuando (para la sincronización) era necesario transmitir algo. | |
ETB | 17 | final del bloque de texto _ | final del bloque de texto | A veces, el texto (por razones técnicas) se dividía en bloques. |
PUEDEN | Dieciocho | puede cancelar | "Cancelar" | Cancelación de lo previamente transferido. |
EM | 19 | fin del medio _ | "Fin del portador" | Se ha acabado la cinta perforada, el papel, etc. |
SUB | 1A | sustituir _ | "Sustituto" | Se coloca el símbolo:
Actualmente, el carácter se inserta presionando la combinación de teclas Ctrl+ Zy se utiliza para indicar el final del archivo en los sistemas operativos "DOS" y "Windows" . |
ESC | 1B | escapar mono | Un signo de que el carácter que sigue a " ESC" tiene algún otro significado (no ASCII). Normalmente, el ESCcarácter " " va seguido de secuencias de escape ; en el sistema operativo DOS , son implementados por el controlador ANSI.SYS . | |
DEL | 7F | eliminar _ | borrar el último caracter | El símbolo " DEL" (que consta de todas las unidades en código binario) podría "martillar" cualquier carácter. Los dispositivos y programas ignoraron " DEL" de la misma manera que " NUL".
El código de este carácter proviene de los primeros procesadores de texto con memoria de cinta perforada : en ellos, el borrado de un carácter se producía “martillando” su código con agujeros (que denotaban unidades lógicas ). |
Se admitió la separación de datos en 4 niveles:
Símbolo | El código | Descifrado | Traducción | Descripción |
---|---|---|---|---|
FS | 1C | separador de archivos _ _ | separador de archivos | el mensaje podría consistir en archivos |
SG | 1D | g - separador de grupos | separador de grupos | los archivos se pueden agrupar |
RS | 1E | separador de registros _ | separador de registros | los grupos pueden consistir en entradas |
A NOSOTROS | 1F | separador de unidades _ | separador de unidades | los registros pueden consistir en unidades |
En la gran mayoría de las computadoras modernas, la unidad de memoria mínima direccionable es un byte (8 bits de tamaño ); por lo que utiliza caracteres de 8 bits en lugar de 7 bits. Por lo general, un carácter ASCII se amplía a 8 bits simplemente agregando un bit de cero como el bit más significativo.
Sin embargo, en las computadoras IBM / 360 (en el caso de usar ASCII), se usó un método diferente: el sexto bit (si se considera primero el bit menos significativo) se mueve al séptimo, y el séptimo anterior se "bifurca" y copiado en el bit 8, y en el 6. Esto da como resultado una tabla [4] :
.0 | .una | .2 | .3 | .cuatro | .5 | .6 | .7 | .ocho | .9 | .A | .B | .C | .D | .MI | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0. | NULO | MOS | EOA | MOE | EQT | WRU | ES | CAMPANA | BKSP | HT | LF | Vermont | FF | RC | ASI QUE | SI |
una. | CC 0 | CC 1 | CC 2 | CC 3 | CC 4 | ERRAR | SINCRONIZAR | LEM | S0 _ | S1 _ | S2 _ | S3 _ | S4 _ | S5 _ | S6 _ | S7 _ |
2. | ||||||||||||||||
3. | ||||||||||||||||
cuatro | VACÍO | ! | " | # | ps | % | & | ' | ( | ) | * | + | , | - | . | / |
5. | 0 | una | 2 | 3 | cuatro | 5 | 6 | 7 | ocho | 9 | : | ; | < | = | > | ? |
6. | ||||||||||||||||
7. | ||||||||||||||||
ocho. | ||||||||||||||||
9. | ||||||||||||||||
UNA. | @ | A | B | C | D | mi | F | GRAMO | H | yo | j | k | L | METRO | norte | O |
b. | PAGS | q | R | S | T | tu | V | W | X | Y | Z | [ | \ | ] | ↑ | ← |
C. | ||||||||||||||||
D. | ||||||||||||||||
MI. | a | b | C | d | mi | F | gramo | h | i | j | k | yo | metro | norte | o | |
F. | pags | q | r | s | t | tu | v | w | X | y | z | ESC | DEL |
En computadoras con una unidad mínima de memoria direccionable de 36 bits, al principio se usaban caracteres de 6 bits (1 palabra = 6 caracteres). Después de la transición a ASCII, estas computadoras comenzaron a colocar 5 caracteres de siete bits en una palabra (1 bit permaneció superfluo) o 4 caracteres de nueve bits.
Los códigos ASCII se utilizan en la programación como códigos intermedios multiplataforma para pulsaciones de teclas (a diferencia de los códigos de escaneo de PC de IBM y otros códigos internos). Para la disposición del teclado QWERTY , la tabla de códigos se parece a la que se muestra en la siguiente tabla [5] .
![]() | |
---|---|
En catálogos bibliográficos |
Codificaciones de caracteres | |
---|---|
Codificaciones históricas | compensación adicional semáforo (Makarov) morse Bodo MTK-2 borrador 6 bits SCP RADIX-50 EBCDIC KOI-7 ISO 646 |
representación moderna de 8 bits | simbolos ASCII no ASCII páginas de códigos de 8 bits cirílico KOI-8 Codificación básica maccirílico ISO 8859 1 (lat.) 2 3 cuatro 5 (kir.) 6 7 ocho 9 diez once 12 13 catorce 15 (€) dieciséis ventanas 1250 1251 (Kir.) 1252 1253 1254 1255 1256 1257 1258 WGL4 IBM y DOS 437 850 852 855 866 "alternativa" MICRÓFONO |
Multibyte | tradicional DBCS GB2312 HTML unicode UTF-32 UTF-16 UTF-8 lista de personajes cirílico |
interfaz de usuario Diseño del teclado lugar traducción de línea fuente transcripción Fuentes personalizadas utilidades iconov registro |