ASCII - ASCII


De Wikipedia, la enciclopedia libre

ASCII
ASCII-infobox.svg
ASCII (1967 o posterior)
MIME / IANA US-ASCII
Alias ​​(s) ASCII
Idioma (s) Inglés
Clasificación serie ISO 646
extensiones
Precedido por ITA 2 , Fieldata
Sucesor ISO 8859 , Unicode
Otros codificación relacionado (s) PETSCII

ASCII ( / æ s k i /  ( escuchar ) Acerca de este sonido CULO -kee ), abreviado del Código Estándar Americano para Intercambio de Información , es una codificación de caracteres estándar para la comunicación electrónica. Códigos ASCII representan texto en computadoras, equipos de telecomunicaciones , y otros dispositivos. La mayoría de los esquemas de codificación de caracteres modernos se basan en ASCII, a pesar de que soportan muchos caracteres adicionales.

ASCII es el nombre tradicional para el sistema de codificación; la Internet Assigned Numbers Authority (IANA) prefiere el nombre actualizado US-ASCII , que aclara que este sistema fue desarrollado en los EE.UU. y en base a los símbolos tipográficos predominantemente en uso allí.

ASCII es uno de los hitos del IEEE .

gráfico de ASCII a partir de un manual de la impresora antes de lo 1972 (b1 es el bit menos significativo).

Visión general

ASCII se desarrolló a partir de código telegráfico . Su primer uso comercial era como de siete bits teletipo código promovida por los servicios de datos de Bell. El trabajo en el estándar ASCII comenzó el 6 de octubre de 1960, con la primera reunión de la Asociación Estadounidense de Normas 's (ASA) (ahora el Instituto Nacional Estadounidense de Estándares o ANSI) subcomité X3.2. La primera edición de la norma fue publicada en 1963, se sometió a una revisión importante durante 1967, y experimentó su actualización más reciente en 1986. En comparación con los códigos telegráficos anteriores, el código ASCII de Bell propuesto y se ordenaron tanto para la clasificación más conveniente (es decir, alfabetización ) de las listas, y características adicionales de productos distintos de teletipos.

Originalmente basado en el alfabeto Inglés , ASCII codifica 128 especificados caracteres en números enteros de siete bits como se muestra en la tabla ASCII anteriormente. El noventa y cinco de los caracteres codificados son imprimible: estos incluyen los dígitos 0 a 9 , letras minúsculas a a z , las letras mayúsculas A a Z , y los símbolos de puntuación . Además, la especificación ASCII original incluía 33 de no impresión códigos de control que se originaron con máquinas de teletipo ; la mayoría de estos son ahora obsoletos, aunque algunos todavía de uso común, tales como las de retorno de carro , la línea de alimentación y la pestaña códigos.

Por ejemplo, minúscula i estaría representada en la codificación ASCII por binario 1101001 = hexadecimal 69 ( i es la novena letra) = decimal 105.

Historia

ASCII (1963). Control de las imágenes de los controles equivalentes se muestran cuando existan, o un punto gris lo contrario.

El Código Estándar Americano para Intercambio de Información (ASCII) fue desarrollado bajo los auspicios de un comité de la Asociación Estadounidense de Estándares (ASA), llamado el comité X3, por su X3.2 (más tarde X3L2) subcomité, y más tarde por X3 de ese subcomité. 2.4 grupo de trabajo (ahora INCITS ). El ASA se convirtió en el Estados Unidos de América Standards Institute (USASI) y, finalmente, el American National Standards Institute (ANSI).

Con la otra caracteres especiales y códigos de control que respondieron a, ASCII fue publicado como ASA X3.4-1963, dejando 28 posiciones de código sin ningún significado asignado, reservados para futura normalización, y un código de control no asignado. Hubo cierto debate en el momento si debe haber más caracteres de control, más que el alfabeto en minúsculas. La indecisión no duró mucho: en mayo de 1963, el Grupo de Trabajo del CCITT en el Nuevo Alfabeto Telegráfico propone asignar los caracteres en minúsculas a palos 6 y 7, y la Organización Internacional de Normalización TC 97 SC 2 votó en octubre para incorporar el cambio en su proyecto de norma . El grupo de trabajo X3.2.4 votó su aprobación para que el cambio ASCII en su reunión de mayo de 1963. Localización de las letras minúsculas en palos 6 y 7 causó el personajes a difieren en el patrón de bit de la caja superior por un único bit, lo que simplifica caso-insensible a juego de caracteres y la construcción de teclados e impresoras.

El comité X3 hizo otros cambios, incluyendo otros caracteres nuevos (la abrazadera y de barras verticales caracteres), cambiar el nombre de algunos caracteres de control (SOM se convirtió inicio de cabecera (SOH)) y de mover o retirar otros (RU se eliminó). ASCII se actualiza posteriormente como USAS X3.4-1967, entonces USAS X3.4-1968, ANSI X3.4-1977, y finalmente, ANSI X3.4-1986.

Las revisiones de la norma ASCII:

  • ASA X3.4-1963
  • ASA X3.4-1965 (aprobado, pero no publicado, sin embargo utilizado por IBM 2260 y 2265 estaciones de pantalla y IBM 2848 display de control)
  • USAS X3.4-1967
  • USAS X3.4-1968
  • ANSI X3.4-1977
  • ANSI X3.4-1986
  • ANSI X3.4-1986 (R1992)
  • ANSI X3.4-1986 (R1997)
  • ANSI INCITS 4-1986 (R2002)
  • ANSI INCITS 4-1986 (R2007)
  • ANSI INCITS 4-1986 (R2012)

En la norma x3.15, el comité X3 también se refirió a la forma en ASCII debe ser transmitida ( bit menos significativo en primer lugar), y cómo debe ser registrada en una cinta perforada. Propusieron un 9 de vía estándar para cinta magnética, e intentaron hacer frente a algunos de tarjetas perforadas formatos.

Consideraciones de diseño

ancho de bits

El subcomité X3.2 diseñado ASCII basado en los anteriores teletipo sistemas de codificación. Al igual que otras codificaciones de caracteres , ASCII especifica una correspondencia entre los patrones de bits digitales y personajes símbolos (es decir, los grafemas y caracteres de control ). Esto permite digitales dispositivos se comuniquen entre sí y para procesar, almacenar y comunicar información orientado a caracteres tales como el lenguaje escrito. Antes del desarrollo de ASCII, las codificaciones en uso incluyeron 26 alfabéticos caracteres, 10 dígitos numéricos , y del 11 al 25 símbolos gráficos especiales. Para incluir todos estos, y caracteres de control compatibles con el Comité Consultivo Internacional Téléphonique et télégraphique (CCITT) Alfabeto Telegráfico Internacional No. 2 estándar (ITA2) de 1924, Fieldata (1956), y principios de EBCDIC (1963), más de 64 códigos eran requerido para ASCII.

ITA2 eran a su vez basado en el código telegráfico de 5 bits Émile Baudot inventado en 1870 y patentado en 1874.

El comité debatió la posibilidad de un cambio de función (como en ITA2 ), lo que permitiría más de 64 códigos para ser representados por un código de seis bits . En un código cambiado, algunos códigos de caracteres determinan la elección entre las opciones para los siguientes códigos de caracteres. Permite codificación compacta, pero es menos fiable para la transmisión de datos , como un error en la transmisión del código de turno típicamente hace una larga parte de la transmisión ilegible. El Comité de Normas decidió en contra de desplazamiento, y así ASCII requiere al menos un código de siete bits.

El comité considera un código de ocho bits, desde ocho bits ( octetos ) permitiría dos patrones de cuatro bits para codificar de manera eficiente dos dígitos con decimal codificado en binario . Sin embargo, se requeriría toda la transmisión de datos a enviar ocho bits cuando siete podrían ser suficiente. El comité votó a utilizar un código de siete bits para minimizar los costos asociados con la transmisión de datos. Desde cinta perforada en el momento podría registrar ocho bits en una posición, sino que también permitió un bit de paridad para la comprobación de errores si se desea. Ocho bits máquinas (con octetos como el tipo de datos nativo) que no utilizaron la comprobación de paridad suelen establecer el octavo bit a 0. En algunas impresoras, se utilizó el bit alto para permitir cursiva impresión.

Organización interna

El código en sí mismo fue diseñado de forma que la mayoría de los códigos de control estaban juntos y todos los códigos gráficos estaban juntos, para facilitar su identificación. Los primeros dos llamados palos ASCII (32 posiciones) fueron reservados para los caracteres de control. El carácter de "espacio" tenía que llegar antes de gráficos para hacer la clasificación más fácil, por lo que se convirtió en la posición 20 hexagonal ; por la misma razón, muchos signos especiales que se utilizan comúnmente como separadores se colocan antes de los dígitos. El comité decidió que era importante apoyar mayúsculas alfabetos de 64 caracteres , y optó por el patrón ASCII por lo que podría reducirse fácilmente a un útil conjunto de 64 caracteres de códigos gráficos, como se hizo en el SIXBIT diciembre de código (1963). Minúsculas letras por lo tanto no se intercalan con mayúsculas. Para mantener las opciones disponibles para las letras minúsculas y otros gráficos, los códigos numéricos especiales y se dispusieron antes de las letras, y la letra A se colocó en la posición 41 hexagonal para que coincida con el borrador de la norma británica correspondiente. Los dígitos 0-9 tienen el prefijo 011, pero los restantes 4 bits se corresponden con sus respectivos valores en binario, haciendo la conversión con codificado en binario decimal sencillo.

Muchos de los caracteres no alfanuméricos se colocaron para corresponder a su posición desplazada en máquinas de escribir; una sutileza importante es que estos se basan en mecánicas máquinas de escribir, no eléctricas máquinas de escribir. Máquinas de escribir mecánicas siguieron el estándar establecido por el Remington No. 2 (1878), la primera máquina de escribir con una tecla de cambio, y los valores desplazados de 23456789-estaban "#$%_&'() - primeras máquinas de escribir omitidas 0 y 1 , utilizando O (letra mayúscula o ) y l (letra minúscula L ) en lugar, pero 1!y 0)pares se convirtió en estándar una vez que 0 y 1 se convirtió en común. Así, en ASCII !"#$%fueron colocados en el segundo palo, las posiciones 1-5, correspondiente a los dígitos 1-5 en el palo adyacente. Los paréntesis podrían no corresponder a 9 y 0 , sin embargo, porque el lugar que corresponde a 0 fue tomada por el carácter de espacio. Esto se acomoda mediante la eliminación _(subrayado) de 6 y el cambio de los caracteres restantes, que corresponden a muchas máquinas de escribir europeos que colocan los paréntesis, con 8 y 9 . Esta discrepancia de las máquinas de escribir dirigidos a los teclados bit-emparejado , en particular el modelo de teletipo 33 , que utiliza el esquema de izquierda desplazado correspondiente a ASCII, no a las máquinas de escribir mecánicas tradicionales. Máquinas de escribir eléctricas, en particular la IBM Selectric (1961), utilizaron un diseño algo diferente que se ha convertido en estándar en los ordenadores - a raíz de la PC de IBM (1981), especialmente Modelo M (1984) - y por lo tanto modificar los valores de los símbolos en los teclados modernos no se corresponden tan de cerca a la tabla ASCII como lo hicieron los teclados anteriores. El /?par fechas también a la No. 2, y los ,< .>pares se utilizaron en algunos teclados (otros, incluyendo el No. 2, no cambiar ,(coma) o .(punto final), de modo que podría ser utilizado en mayúscula sin unshifting). Sin embargo, ASCII dividir el ;:par (que data de No. 2), y los símbolos matemáticos reordenados (variadas convenciones, comúnmente -* =+) a :* ;+ -=.

Algunos caracteres comunes no fueron incluidos, en particular ½¼¢, mientras que ^`~se incluyeron como diacríticos para uso internacional, y <>para su uso matemática, junto con los caracteres de línea simples \|(además de la común /). El @ símbolo no fue utilizado en la Europa continental y el comité espera que sería reemplazado por una acentuada À en la variación francesa, por lo que la @ se colocó en la posición 40 hexagonal , justo antes de la letra A.

Los códigos de control sentían esencial para la transmisión de datos fueron el inicio de mensaje (SOM), final de la dirección (EOA), fin de mensaje (EOM), final de la transmisión (EOT), "¿quién es usted?" (WRU), "¿verdad?" (RU), un dispositivo de control reservada (DC0), inactivo síncrona (SYNC), y reconocer (ACK). Estos fueron posicionados para maximizar la distancia de Hamming entre sus patrones de bits.

orden de los caracteres

Para código ASCII también se llama ASCIIbetical orden. Intercalación de los datos se hace a veces en este orden en lugar de (orden alfabético "estándar" secuencia de clasificación ). Las principales desviaciones en orden ASCII son:

  • Todo mayúsculas van antes que las minúsculas; por ejemplo, "Z" precede "a"
  • Cifras y signos de puntuación muchos vienen antes de las

Una orden intermedia convierte las letras mayúsculas a minúsculas antes de comparar los valores ASCII.

grupos de caracteres

Los caracteres de control

ASCII reserva los primeros 32 códigos (números 0-31 dígitos) para los caracteres de control : códigos prevista originalmente no se representa la información imprimible, sino más bien para el control de dispositivos (como impresoras ) que hacen uso de ASCII, o para proporcionar la meta-información acerca de los datos arroyos tales como los almacenados en cinta magnética.

Por ejemplo, el carácter 10 representa la función de "avance de línea" (que causa una impresora para avanzar en su papel), y el carácter 8 representa "retroceso". RFC  2822 se refiere a los caracteres de control que no incluyen retorno de carro, avance de línea o espacio en blanco como caracteres de control no está en blanco. A excepción de los caracteres de control que prescriben formato orientado a la línea primaria, ASCII no define ningún mecanismo para describir la estructura o aspecto del texto dentro de un documento. Otros esquemas, tales como lenguajes de marcado , página de dirección y diseño del documento y el formato.

El estándar ASCII original utilizaba frases descriptivas solamente cortos para cada carácter de control. La ambigüedad esto hizo que a veces era intencional, por ejemplo, cuando un personaje se utilizaría de forma ligeramente diferente en un enlace de terminal que en un flujo de datos , y algunas veces por accidente, por ejemplo, con el significado de "eliminar".

Probablemente el dispositivo más influyente sobre la interpretación de estos personajes fue el modelo de teletipo 33 ASR, que era un terminal de impresión disponibles con una cinta de papel opción de lector / ponche. La cinta de papel fue un medio muy popular para el almacenamiento de programas a largo plazo hasta la década de 1980, menos costosos y en cierto modo menos frágil que la cinta magnética. En particular, los Teletype Modelo 33 asignaciones de máquinas para los códigos 17 (Control-Q, DC1, también conocido como XON), 19 (control-S, DC3, también conocido como XOFF), y 127 ( Borrar ) se convirtieron en estándares de facto. El modelo 33 fue también notable para la toma de la descripción de Control-G (código 7, BEL, lo que significa de forma audible alertar al operador), literalmente, como la unidad contenía una campana real que sonó cuando se recibe un carácter BEL. Debido a que la parte superior del teclado de la tecla O también mostró un símbolo de flecha izquierda (de ASCII-1963, que tenía este carácter en lugar de guión bajo ), un uso no adecuado del código 15 (Control-O, cambio en) interpretado como "borrar el carácter anterior" también fue adoptado por muchos sistemas de tiempo compartido temprana pero con el tiempo llegó a ser descuidada.

Cuando un Teletype 33 ASR equipado con el lector automático de cinta de papel recibió un Control-S (XOFF, una abreviatura de transmisión off), causó el lector de cinta para detener; recibir Control-Q (XON, "transmitir on") causó el lector de cinta para reanudar. Esta técnica se hizo adoptado por varios sistemas operativos de los ordenadores pronto como una señal de "apretón de manos", advirtiendo un remitente para detener la transmisión debido a la inminente desbordamiento; que persiste hasta nuestros días en muchos sistemas como una técnica de control de salida manual. En algunos sistemas de control-S conserva su significado pero Control-Q se sustituye por un segundo control-S para reanudar la salida. El 33 ASR también podría estar configurado para emplear Control-R (DC2) y Control-T (DC4) para iniciar y detener la cinta perforada; en algunas unidades equipadas con esta función, la correspondiente rotulación carácter de control en la tecla clave por encima de la carta era TAPE y CINTA respectivamente.

El teletipo no podía mover la cabeza hacia atrás, por lo que no puso una tecla del teclado para enviar un BS (retroceso). En su lugar había una marcada tecla "borradura" que envía el código 127 (DEL). El propósito de esta clave fue borrar los errores en una cinta de papel escrito a mano: el operador tenía que apretar un botón en la cinta perforada que lo respalde, a continuación, escriba la borradura, que marcó todos los agujeros y se reemplaza el error con un personaje que estaba destinado a ser ignorado. Teletipos se utiliza comúnmente para los equipos menos costosos de Digital Equipment Corporation , por lo que estos sistemas tuvieron que utilizar la clave disponibles y por lo tanto el código DEL para borrar el carácter anterior. Debido a esto, los terminales de vídeo DEC (por defecto) envían el código de la tecla DEL marcado "retroceso", mientras que la tecla marcada "Borrar" envía una secuencia de escape, mientras que muchos otros terminales envían BS para la tecla de retroceso. El conductor terminal de Unix sólo podía utilizar un código de copia de seguridad, esto podría ajustarse a BS o DEL, pero no ambos, lo que resulta en un período muy largo de molestia donde había que corregirlo dependiendo de lo que el terminal que estaba usando (conchas modernas usando readline entender tanto los códigos). La suposición de que ninguna tecla envió una BS causó Control + H para ser utilizado para otros fines, como por ejemplo un comando de "ayuda" en Emacs.

Muchos más de los códigos de control se les ha dado significados muy diferentes de sus originales. El carácter de "escape" (ESC, código 27), por ejemplo, fue pensado originalmente para permitir el envío de otros caracteres de control como literales en lugar de invocar su significado. Este es el mismo significado de "escape" encontrado en la codificación URL, lenguaje C cuerdas y otros sistemas en los que ciertos caracteres tienen un significado reservado. Con el tiempo este sentido ha sido cooptado y, finalmente, se ha cambiado. En el uso moderno, un CES enviado a la terminal por lo general indica el inicio de una secuencia de comandos por lo general en forma de un denominado " código de escape ANSI " (o, más correctamente, un " control de secuencia Introductor ") de ECMA-48 ( 1972) y sus sucesores, comenzando con ESC seguido por un carácter "[" (-corchete izquierdo). Un CES enviado desde el terminal se utiliza más a menudo como un fuera de banda de caracteres utilizado para terminar una operación, como en el TECO y vi editores de texto . En la interfaz gráfica de usuario (GUI) y de ventanas sistemas, ESC generalmente causa una aplicación para abortar su funcionamiento actual o para salir (terminar) por completo.

La ambigüedad inherente de muchos caracteres de control, combinado con su uso histórico, crea problemas al transferir archivos de texto sin formato "" entre los sistemas. El mejor ejemplo de esto es la nueva línea problema en varios sistemas operativos . Máquinas de teletipo que requieren una línea de texto terminarse con ambos "retorno de carro" (que mueve el cabezal de impresión al principio de la línea) y "salto de línea" (que hace avanzar el papel una línea sin mover el cabezal de impresión). El nombre de "retorno de carro" viene del hecho de que en un manual de la máquina de escribir del carro que sostiene que el papel pasó mientras que la posición en la que las varillas de conexión golpearon la cinta se mantuvo estacionaria. La totalidad del transporte tuvo que ser empujado (devuelto) a la derecha con el fin de posicionar el margen izquierdo del papel para la siguiente línea.

Diciembre sistemas operativos ( OS / 8 , RT-11 , RSX-11 , RSTS , TOPS-10 , etc.) utilizan ambos caracteres para marcar el final de una línea de modo que el dispositivo de consola (originalmente máquinas de teletipo ) funcionaría. En el momento en el llamado "vidrio TTY" (más tarde llamados tubos de rayos catódicos o terminales) llegó, la convención estaba tan bien establecido que la compatibilidad hacia atrás hizo necesario continuar la convención. Cuando Gary Kildall creado CP / M que se inspiró en algunas convenciones de interfaz de línea de comandos utilizados en diciembre 's RT-11 . Hasta la introducción de PC DOS en 1981, IBM tenía nada que ver en esto porque sus sistemas utilizados 1970 EBCDIC ASCII en lugar de operar y se les orienta hacia la entrada de tarjetas perforadas y la salida de la impresora línea en la que el concepto de retorno de carro no tenía sentido. De IBM PC DOS (también comercializado como MS-DOS de Microsoft) heredó la convención en virtud de estar basado libremente en CP / M , y de Windows heredó de MS-DOS.

Por desgracia, lo que requiere dos caracteres para marcar el final de una línea introduce complejidad y preguntas en cuanto a cómo interpretar cada personaje cuando se encuentran solos innecesaria. Para simplificar el texto sin formato flujos de datos, incluidos los archivos, en Multics utilizados avance de línea (LF) sola como un terminador de línea. Unix y Unix-como sistemas y Amiga sistemas, adoptaron esta convención de Multics. El original sistema operativo Macintosh , de Apple DOS , y ProDOS , por el contrario, utilizan retorno de carro (CR) por sí sola como un terminador de línea; Sin embargo, desde que Apple reemplazó con estos sistemas operativos basados en Unix las macOS sistema operativo, ahora utilizan avance de línea (LF) también. El Radio Shack TRS-80 también se utiliza un CR solitario de interrumpir las líneas.

Ordenadores conectados a la ARPANET incluyen máquinas que ejecutan sistemas operativos como TOPS-10 y TENEX usando finales de línea CR-LF, máquinas que ejecutan sistemas operativos tales como Multics usando finales de línea LF, y las máquinas que ejecutan sistemas operativos tales como OS / 360 que representaba líneas como un recuento de caracteres seguido de los caracteres de la línea y el usado EBCDIC en lugar de ASCII. El Telnet protocolo define el carácter ASCII " terminal virtual de red " (NVT), por lo que las conexiones entre los anfitriones con diferentes convenciones de fin de línea y juegos de caracteres podrían ser apoyados mediante la transmisión de un formato de texto estándar través de la red. Telnet utiliza ASCII junto con los finales de línea CR-LF, y el uso de software de otros convenios se traduciría entre las convenciones locales y el NVT. El Protocolo de Transferencia de Archivos adoptó el protocolo Telnet, incluyendo el uso de la terminal virtual de red, para su uso durante la transmisión de comandos y la transferencia de datos en el modo por defecto ASCII. Esto añade complejidad a las implementaciones de estos protocolos, y para otros protocolos de red, tales como los utilizados para el correo electrónico y la World Wide Web, en los sistemas que no utilizan CR-LF convención de final de línea de la NVT.

El monitor PDP-6, y su sucesor PDP-10 TOPS-10, que se utiliza Control-Z (SUB) como una indicación de fin de archivo para la entrada de un terminal. Algunos sistemas operativos como CP / M rastreados la longitud del archivo sólo en unidades de bloques de disco y utilizarse Control-Z para marcar el final del texto actual en el archivo. Por estas razones, EOF, o EOF , fue utilizado coloquialmente y convencionalmente como un acrónimo de tres letras para el Control-Z en lugar del sustituto. El código de final de texto ( ETX ), también conocido como Control-C , era inadecuado para una variedad de razones, durante el uso de Z como el código de control para poner fin a un archivo es análogo a lo que termina el alfabeto y sirve como un muy conveniente ayuda mnemotécnica . Una convención históricamente común y siendo frecuente utiliza la convención de código ETX para interrumpir y detener un programa a través de un flujo de datos de entrada, por lo general de un teclado.

En la biblioteca C y Unix convenciones, el carácter nulo se utiliza para terminar de texto cuerdas ; dichas cadenas terminadas en cero, se pueden conocer en abreviatura como ASCIZ o ASCIIZ, donde Z representa aquí "cero".

Binario oct dic Maleficio Abreviatura Nombre (1967)
1963 1965 1967
000 0000 000 0 00 NULO NUL ^@ \0 Nulo
000 0001 001 1 01 SOM SOL ^A Inicio del Título
000 0010 002 2 02 EOA STX ^B Inicio del texto
000 0011 003 3 03 MOE ETX ^C Fin del texto
000 0100 004 4 04 EOT ^D Fin de la transmisión
000 0101 005 5 05 WRU ENQ ^E Investigación
000 0110 006 6 06 RU ACK ^F Reconocimiento
000 0111 007 7 07 CAMPANA BEL ^G \a Campana
000 1000 010 8 08 FE0 BS ^H \b Retroceso
000 1001 011 9 09 HT / SK HT ^I \t horizontal Tab
000 1010 012 10 0A LF ^J \n Linea de alimentación
000 1011 013 11 0B VTAB Vermont ^K \v Vertical Tab
000 1100 014 12 0C FF ^L \f La presentación del pienso
000 1101 015 13 0D CR ^M \r Retorno de carro
000 1110 016 14 0E ASI QUE ^N Desplazar fuera
000 1111 017 15 0F SI ^O Desplazar en
001 0000 020 dieciséis 10 DC0 DLE ^P Escape de Enlace de Datos
001 0001 021 17 11 DC1 ^Q Control de dispositivos 1 (a menudo XON )
001 0010 022 18 12 DC2 ^R Control de dispositivos 2
001 0011 023 19 13 DC3 ^S Control de dispositivos 3 (a menudo XOFF )
001 0100 024 20 14 DC4 ^T Control de dispositivos 4
001 0101 025 21 15 ERRAR NAK ^U Acuse de recibo negativo
001 0110 026 22 dieciséis SINC SYN ^V Idle síncrona
001 0111 027 23 17 LEM ETB ^W Fin de la transmisión del bloque
001 1000 030 24 18 S0 PUEDE ^X Cancelar
001 1001 031 25 19 S1 EM ^Y Fin de la media
001 1010 032 26 1A S2 SS SUB ^Z Sustituir
001 1011 033 27 1B S3 ESC ^[ \e Escapar
001 1100 034 28 1C S4 FS ^\ archivo separador
001 1101 035 29 1D S5 GS ^] grupo separador
001 1110 036 30 1E S6 RS ^^ separador de registros
001 1111 037 31 1F S7 NOSOTROS ^_ unidad Separador
111 1111 177 127 7F DEL ^? Borrar

Otras representaciones podrían ser utilizados por los equipos especializados, por ejemplo ISO 2047 de gráficos o hexadecimales números.

caracteres imprimibles

20 códigos hexadecimales a 7E hexagonal , conocida como los caracteres imprimibles, representan letras, dígitos, signos de puntuación , y algunos símbolos diversos. Hay 95 caracteres imprimibles en total.

Código 20 hexagonal , el carácter de "espacio" , denota el espacio entre las palabras, como la producida por la barra espaciadora de un teclado. Dado el carácter de espacio se considera un gráfico invisible (en lugar de un carácter de control) que aparece en la tabla de abajo en lugar de en la sección anterior.

Código 7F hexadecimal corresponde a la (DEL) carácter de control no imprimible "eliminar" y por lo tanto se omite en esta tabla; se cubre en la carta de la sección anterior. Las versiones anteriores de ASCII utilizan la flecha hacia arriba en lugar del símbolo de intercalación (5E hexagonal ) y la flecha izquierda en lugar del guión (5F hexagonal ).

Binario oct dic Maleficio glifo
1963 1965 1967
010 0000 040 32 20  espacio
010 0001 041 33 21 !
010 0010 042 34 22 "
010 0011 043 35 23 #
010 0100 044 36 24 PS
010 0101 045 37 25 %
010 0110 046 38 26 y
010 0111 047 39 27 '
010 1000 050 40 28 (
010 1001 051 41 29 )
010 1010 052 42 2A *
010 1011 053 43 2B +
010 1100 054 44 2C ,
010 1101 055 45 2D -
010 1110 056 46 2E .
010 1111 057 47 2F /
011 0000 060 48 30 0
011 0001 061 49 31 1
011 0010 062 50 32 2
011 0011 063 51 33 3
011 0100 064 52 34 4
011 0101 065 53 35 5
011 0110 066 54 36 6
011 0111 067 55 37 7
011 1000 070 56 38 8
011 1001 071 57 39 9
011 1010 072 58 3A :
011 1011 073 59 3B ;
011 1100 074 60 3C <
011 1101 075 61 3D =
011 1110 076 62 3E >
011 1111 077 63 3F ?
100 0000 100 64 40 @ ` @
100 0001 101 sesenta y cinco 41 UNA
100 0010 102 66 42 segundo
100 0011 103 67 43 do
100 0100 104 68 44 re
100 0101 105 69 45 mi
100 0110 106 70 46 F
100 0111 107 71 47 sol
100 1000 110 72 48 H
100 1001 111 73 49 yo
100 1010 112 74 4A J
100 1011 113 75 4B K
100 1100 114 76 4C L
100 1101 115 77 4D METRO
100 1110 116 78 4E norte
100 1111 117 79 4F O
101 0000 120 80 50 PAG
101 0001 121 81 51 Q
101 0010 122 82 52 R
101 0011 123 83 53 S
101 0100 124 84 54 T
101 0101 125 85 55 T
101 0110 126 86 56 V
101 0111 127 87 57 W
101 1000 130 88 58 X
101 1001 131 89 59 Y
101 1010 132 90 5A Z
101 1011 133 91 5B [
101 1100 134 92 5C \ ~ \
101 1101 135 93 5D ]
101 1110 136 94 5E ^
101 1111 137 95 5F _
110 0000 140 96 60 @ `
110 0001 141 97 61 una
110 0010 142 98 62 segundo
110 0011 143 99 63 do
110 0100 144 100 64 re
110 0101 145 101 sesenta y cinco mi
110 0110 146 102 66 F
110 0111 147 103 67 sol
110 1000 150 104 68 h
110 1001 151 105 69 yo
110 1010 152 106 6A j
110 1011 153 107 6B k
110 1100 154 108 6C l
110 1101 155 109 6D metro
110 1110 156 110 6E norte
110 1111 157 111 6F o
111 0000 160 112 70 pag
111 0001 161 113 71 q
111 0010 162 114 72 r
111 0011 163 115 73 s
111 0100 164 116 74 t
111 0101 165 117 75 u
111 0110 166 118 76 v
111 0111 167 119 77 w
111 1000 170 120 78 X
111 1001 171 121 79 y
111 1010 172 122 7A z
111 1011 173 123 7B {
111 1100 174 124 7C ACK ¬ |
111 1101 175 125 7D }
111 1110 176 126 7E ESC | ~

Conjunto de caracteres

ASCII (1977/1986)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _UNA _SEGUNDO _DO _RE _MI _F
0_
0
NUL
0000
SOH
0001
STX
0002
ETX
0003
EOT
0004
ENQ
0005
ACK
0006
BEL
0007
BS
0008
HT
0009
LF
000A
VT
000B
FF
000C
CR
000D
SO
000E
SI
000F
1_
16
DLE
0010
DC1
0011
DC2
0012
DC3
0013
DC4
0014
NAK
0015
SYN
0016
ETB
0017
CAN
0018
EM
0019
SUB
001A
ESC
001B
FS
001C
GS
001D
RS
001E
EE.UU.
001F
2_
32
SP
0020
!
0021
"
0022
#
0023
$
0024
%
0025
y
0026
'
0027
(
0028
)
0029
*
002A
+
002B
,
002C
-
002D
.
002e
/
002F
3_
48
0
0030
1
0031
2
0032
3
0033
4
0034
5
0035
6
0036
7
0037
8
0038
9
0039
:
003A
;
003B
<
003C
=
003D
>
003e
?
003F
4_
64
@
0040
Un
0041
B
0042
C
0043
D
0044
E
0045
F
0046
G
0047
H
0048
I
0049
J
004A
K
004B
L
004C
M
004D
N
004E
O
004F
5_
80
P
0050
Q
0051
R
0052
S
0053
T
0054
T
0055
V
0056
W
0057
X
0058
Y
0059
Z
005A
[
005B
\
005C
]
005D
^
005E
_
005F
6_
96
`
0060
un
0061
b
0062
c
0063
d
0064
e
0065
f
0066
g
0067
h
0068
i
0069
j
006A
k
006B
l
006C
m
006D
n
006E
o
006F
7_
112
p
0070
q
0071
R
0072
s
0073
t
0074
T
0075
v
0076
w
0077
x
0078
Y
0079
z
007A
{
007B
|
007C
}
007D
~
007E
DEL
007F

  Carta    Número    Puntuacion    símbolo  Otro  undefined  ha cambiado desde la versión 1963      

Utilizar

ASCII fue utilizado comercialmente por primera vez durante el 1963 como un código de teletipo de siete bits para la American Telephone & Telegraph red 's TWX (Teletypewriter de cambio). TWX utilizado originalmente la anterior de cinco bits ITA2 , que también fue utilizado por el competir télex sistema de teletipo. Bob Bemer introdujo características tales como la secuencia de escape . Su colega británico Hugh McGregor Ross ayudó a popularizar este trabajo - según Bemer "tanto es así que el código que se convertiría en ASCII fue llamado por primera vez el Código Bemer-Ross en Europa". Debido a su extenso trabajo en ASCII, Bemer ha sido llamado "el padre del ASCII".

El 11 de marzo de 1968, el presidente estadounidense Lyndon B. Johnson ordenó que todos los ordenadores comprados por el apoyo ASCII gobierno federal de los Estados Unidos, que dice:

También he aprobado las recomendaciones de la Secretaría de Comercio con respecto a las normas para el registro de la código estándar para intercambio de información en cintas magnéticas y cintas de papel cuando se utilizan en las operaciones de computadora. Todos los ordenadores y configuraciones de equipos relacionados traído al Gobierno Federal de inventario a partir del 1 de julio de 1969 deben tener la capacidad de utilizar el código estándar para el intercambio de información y los formatos prescritos por las normas de cinta y papel de cinta magnética cuando se utilizan estos medios.

ASCII fue la codificación de caracteres más común en la World Wide Web hasta diciembre de 2007, cuando UTF-8 codificación lo superó; UTF-8 es compatible con ASCII.

Variantes y derivaciones

Como la tecnología informática se extendió por todo el mundo, los diferentes organismos de normalización y las empresas desarrollaron muchas variaciones de ASCII para facilitar la expresión de las lenguas no inglesas que utilizan alfabetos latinos. Uno podría clasificar algunas de estas variaciones como " extensiones ASCII ", aunque algunos mal uso de ese término para representar todas las variantes, incluyendo aquellos que no conserva el carácter de ruta de ASCII en el rango de 7 bits. Por otra parte, las extensiones ASCII también han sido mal etiquetados como ASCII.

códigos de 7 bits

Desde temprano en su desarrollo, ASCII estaba destinado a ser sólo una de varias variantes nacionales de un estándar de código de carácter internacional.

Otros organismos de normalización internacionales han ratificado la codificación de caracteres tales como ISO 646 (1967) que son idénticos o casi idénticos a ASCII, con extensiones para caracteres fuera del Inglés alfabeto y los símbolos que se utilizan fuera de los Estados Unidos, tales como el símbolo del Reino Unido libra esterlina (£). Casi todos los países necesita una versión adaptada del ASCII, ya que ASCII adecuado a las necesidades de sólo los EE.UU. y algunos otros países. Por ejemplo, Canadá tuvo su propia versión que admite caracteres franceses.

Muchos otros países desarrollados variantes de ASCII a incluir cartas no están en inglés (por ejemplo é , ñ , SS , £ ), símbolos de moneda (por ejemplo, £ , ¥ ), etc. Véase también YUSCII (Yugoslavia).

Que compartiría la mayoría de los personajes en común, pero asignar otros caracteres localmente útiles para varios puntos de código reservados para el "uso nacional". Sin embargo, los cuatro años que han transcurrido entre la publicación de ASCII-1963 y la primera aceptación de ISO de una recomendación internacional durante 1967 causaron opciones de ASCII para los caracteres de uso nacionales a que parecen ser los estándares de facto para el mundo, causando confusión e incompatibilidad una vez que otros países comenzó a tomar sus propias asignaciones a estos puntos de código.

ISO / IEC 646, como ASCII, es un conjunto de caracteres de 7 bits. No tiene ningún códigos adicionales disponibles, por lo que los mismos puntos de código codificado diferentes personajes en diferentes países. códigos de escape se definieron para indicar qué variante nacional aplicado a una parte del texto, pero rara vez se utilizan, por lo que a menudo era imposible saber qué variante que trabajar y, por lo tanto, que el personaje representado un código y, en general, en texto sistemas de procesamiento podrían hacer frente a sólo una variante de todos modos.

Debido a que los caracteres de corchete y tirantes de ASCII fueron asignados a "uso nacional" puntos de código que se utilizaron para las letras acentuadas en otras variantes nacionales de ISO / IEC 646, un programador alemán, francés o sueco, etc. usando su variante nacional de ISO / IEC 646, en lugar de ASCII, tenía que escribir, leer y por lo tanto, algo como

ä aÄiÜ = 'Ön'; ü

en lugar de

{ a[i] = '\n'; }

C trigrafos fueron creados para resolver este problema para ANSI C , aunque su introducción tardía y la aplicación inconsistente en los compiladores limitan su uso. Muchos programadores mantienen sus ordenadores en US-ASCII, de modo de texto sin formato en sueco, alemán, etc. (por ejemplo, en el e-mail o Usenet ) contenían "{,}" y variantes similares en medio de las palabras, algo que consiguieron aquellos programadores Acostumbrado a. Por ejemplo, un programador sueco enviar otro programador preguntando si deben ir a comer, podría conseguir "N {jag har sm | rg} sar" como la respuesta, que debe ser "Na jag har smörgåsar", que significa "No tengo sándwiches".

códigos de 8 bits

Eventualmente, a medida 8-, 16- y 32-bit (y más tarde de 64 bits ) ordenadores comenzaron a reemplazar a 12- , 18- y 36-bit ordenadores como la norma, se convirtió en común el uso de un byte de 8 bits para almacenar cada personaje en la memoria, proporcionando una oportunidad para que los familiares extendidas, 8 bits de ASCII. En la mayoría de los casos éstos desarrollaron como verdaderos extensiones de ASCII, dejando el original de caracteres de mapeo intacta, pero la adición de definiciones de caracteres adicionales después de los primeros 128 (es decir, 7 bits) caracteres.

Codificaciones incluyen ISCII (India), VISCII (Vietnam). A pesar de estas codificaciones se refiere a veces como ASCII, cierto ASCII se define estrictamente solamente por el estándar ANSI.

La mayoría de los sistemas informáticos primeros lugares de residencia desarrollaron sus propios conjuntos de caracteres de 8 bits que contienen de línea de dibujo y juego glifos, ya menudo llenos de alguna o la totalidad de los caracteres de control de 0 a 31, con más gráficos. Kaypro CP / M ordenadores utilizan los "superiores" de 128 caracteres del alfabeto griego.

El PETSCII código de Commodore International utilizado por sus 8 bits sistemas es probablemente único entre los códigos de post-1970 en que se basa en ASCII-1963, en lugar del ASCII-1967 más común, tal como se encuentra en el ZX Spectrum ordenador. Atari ordenadores de 8 bits y Galaksija ordenadores también se utilizan variantes ASCII.

El PC IBM define código de la página 437 , que sustituye los caracteres de control con símbolos gráficos, tales como caras sonrientes , y se asigna caracteres gráficos adicionales para las 128 posiciones superiores. Sistemas operativos como DOS apoyaron estas páginas de códigos, y los fabricantes de PC de IBM los apoyaron en el hardware. Digital Equipment Corporation desarrolló el juego de caracteres multinacional (DEC-MCS) para su uso en la popular VT220 terminales como una de las primeras extensiones diseñadas para más idiomas internacionales que para los gráficos de bloque. El Macintosh define Mac OS romana y Postscript también define un conjunto, ambas ambas cartas internacionales contenidos y signos de puntuación tipográficos en lugar de gráficos, más como juegos de caracteres modernos.

El 8859 ISO / IEC estándar (derivado de la DEC-MCS) finalmente proporcionado un estándar que la mayoría de los sistemas de copiado (al menos la mayor precisión que copian ASCII, pero con muchas sustituciones). Una extensión más popular diseñado por Microsoft, Windows 1252 (a menudo mal etiquetados como ISO-8859-1 ), añade los signos de puntuación tipográficos necesarios para la impresión de texto tradicional. ISO-8859-1, Windows-1252, y el original ASCII de 7 bits eran las codificaciones de caracteres más comunes hasta 2008, cuando UTF-8 se hizo más común.

ISO / IEC 4873 introdujo 32 códigos de control adicionales definidas en el 80-9F hexadecimal gama, como parte de la ampliación de la codificación ASCII de 7 bits para convertirse en un sistema de 8 bits.

Unicode

Unicode e ISO / IEC 10646 juego de caracteres universal (UCS) tienen una gama mucho más amplia de los personajes y sus diversas formas de codificación han comenzado a sustituir a la norma ISO / IEC 8859 y ASCII rápidamente en muchos ambientes. Mientras ASCII se limita a 128 caracteres, Unicode y los UCS apoyan más caracteres mediante la separación de los conceptos de identificación único (utilizando números naturales llamados puntos de código ) y la codificación (para formatos binarios de 8, 16 o 32 bits, llamado UTF-8 , UTF-16 y UTF-32 ).

ASCII se incorporó en el Unicode (1991) conjunto de caracteres como los primeros 128 símbolos, por lo que los caracteres ASCII de 7 bits tienen los mismos códigos numéricos en ambos conjuntos. Esto permite UTF-8 para ser compatible hacia atrás con 7 bits ASCII, como un archivo UTF-8 que contiene sólo caracteres ASCII es idéntico a un archivo ASCII que contiene la misma secuencia de caracteres. Aún más importante, la compatibilidad hacia delante se garantiza que el software que reconoce sólo caracteres ASCII de 7 bits como especial y no altera bytes con el bit más alta (como se hace frecuentemente para soportar extensiones ASCII de 8 bits como ISO-8859-1) preservará UTF-8 de datos sin cambios.

Ver también

notas

referencias

Otras lecturas

enlaces externos