Contenido Checked

ASCII

Antecedentes de las escuelas de Wikipedia

Organizar una selección Wikipedia para las escuelas en el mundo en desarrollo sin acceso a Internet era una iniciativa de SOS Children. SOS Children trabaja en 45 países africanos; puede ayudar a un niño en África ?

Un gráfico de ASCII de un manual de 1972 impresora

El Código Estándar Americano para Intercambio de Información (ASCII, pronunciación: / æ s k yo / ASS -kee;) es un esquema de codificación de caracteres originalmente basada en el Alfabeto Inglés. Códigos ASCII representan texto en ordenadores , comunicaciones equipos y otros dispositivos que utilizan texto. La mayoría de los esquemas de codificación de caracteres modernos se basan en ASCII, a pesar de que soportan muchos personajes adicionales.

ASCII desarrollado a partir de códigos telegráficos. Su primer uso comercial era como de siete bit código de teletipo 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 (ASA) subcomité X3.2 Asociación Estadounidense de Normas. La primera edición de la norma fue publicada en 1963, una revisión importante durante 1967, y la actualización más reciente durante 1986. En comparación con los códigos telegráficos anteriores, el código de Bell propuesto y ASCII se ordenó tanto para la clasificación más conveniente (es decir, alfabetización) de listas y características agregadas de productos distintos de teletipos.

ASCII incluye definiciones de 128 caracteres: 33 son de no impresión caracteres de control (muchos ahora obsoleto) que afectan a cómo se procesan de texto y el espacio y 95 caracteres imprimibles, incluyendo el el espacio (que se considera un gráfico invisible).

La IANA prefiere el nombre US-ASCII para evitar ambigüedades. ASCII fue la codificación más utilizado personaje en la World Wide Web hasta diciembre de 2007, cuando fue superado por UTF-8.

Historia

El Código Estándar Americano para Intercambio de Información (ASCII) se desarrolló bajo los auspicios de un comité de la American Standards Association, llamado el comité X3, por su X3.2 (más tarde X3L2) subcomité, y más tarde por el grupo de trabajo X3.2.4 de ese subcomité . El ASA se convirtió en los Estados Unidos de América o Standards Institute USASI y en última instancia la American National Standards Institute.

El ASCII diseñado subcomité X3.2 basado en el anterior sistemas de codificación teletipo. Al igual que otros codificaciones de caracteres, ASCII especifica una correspondencia entre patrones de bits digitales y símbolos de caracteres (es decir, grafemas y los caracteres de control). Esto permite dispositivos digitales para comunicarse entre sí y para procesar, almacenar y comunicar información orientado a caracteres tales como el lenguaje escrito. Antes fue desarrollado ASCII, las codificaciones utilizadas incluyeron 26 caracteres alfabéticos, 10 dígitos numéricos , y de 11 a 25 símbolos gráficos especiales. Para incluir todos estos, y los caracteres de control compatibles con el Comité Consultivo Internacional Telegráfico y Telefónico (CCITT) Alfabeto Telegráfico Internacional Nº 2 (ITA2) estándar, Fieldata y principios EBCDIC, se requiere más de 64 códigos de ASCII.

El comité debatió la posibilidad de una cambiar la función clave (como el Código Baudot), lo que permitiría más de 64 códigos para ser representados por seis Bits. En un código cambiado, algunos códigos de caracteres determinan elegir entre opciones para los siguientes códigos de caracteres. Permite codificación compacta, pero es menos fiable para transmisión de datos; un error en la transmisión del código de turno normalmente hace una larga parte de la transmisión ilegible. El comité de estándares decidió evitar el corrimiento, y así ASCII requiere al menos un código de siete bits.

El comité consideró un código de ocho bits, ya que ocho bits ( octetos) permitirían dos patrones de cuatro bits para codificar eficientemente dos dígitos con decimal codificado en binario. Sin embargo, se requeriría la transmisión de todos los datos para enviar ocho bits cuando siete podrían ser suficiente. El comité votó a favor de usar 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 grabar ocho bits en una posición, sino que también permitió una bit de paridad para Error al verificar si se desea. Máquinas de ocho bits (con octetos como el tipo de datos nativo) que no utilizaron la comprobación de paridad normalmente establecen el octavo bit a 0.

El código en sí 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. Las dos primeras columnas (32 posiciones) estaban reservados para los caracteres de control.} El "Espacio" personaje tenía que venir antes de gráficos para hacer la clasificación más fácil, por lo que se convirtió en la posición 20 hex ; por la misma razón, muchos signos especiales utilizados comúnmente como separadores se colocaron antes de dígitos. El comité decidió que era importante apoyar letras mayúsculas Alfabetos de 64 caracteres, y eligieron al patrón ASCII por lo que podría reducirse fácilmente a un conjunto de 64 caracteres utilizable de códigos gráficos. Las letras minúsculas, 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 especiales y numéricos fueron arreglados antes de las letras, y la letra "A" se colocó en la posición 41 hex para que coincida con el borrador de la norma británica correspondiente. Los dígitos 0-9 se disponen de modo que se corresponden con los valores en binario con el prefijo 011, por lo que la conversión con binario codificado decimal sencillo.

Muchos de los caracteres no alfanuméricos se colocaron para corresponder a su posición desplazada en máquinas de escribir. Así, #, $ y% se colocaron para corresponder a 3, 4, y 5 en la columna adyacente. Los paréntesis no podrían corresponder a 9 y 0, sin embargo, porque el lugar correspondiente a 0 fue tomada por el carácter de espacio. Dado que muchas máquinas de escribir europeos colocan los paréntesis, con 8 y 9, las posiciones correspondientes se eligieron por los paréntesis. El símbolo @ no se utilizó en la Europa continental y el comité espera que sería reemplazado por un À acento en la variación francesa, por lo que la @ se colocó en la posición 40 hexagonal junto a la letra A.

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

Con la otra caracteres especiales y códigos de control que respondieron, 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 sin asignar. Hubo cierto debate en el momento si debería haber más caracteres de control en lugar de el alfabeto en minúsculas. La indecisión no duró mucho: en mayo de 1963, el Grupo de Trabajo del CCITT en el Alfabeto Telegráfico Nueva propone asignar caracteres en minúscula a las columnas 6 y 7, y 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 tareas X3.2.4 votó su aprobación para que el cambio ASCII en su reunión de mayo 1963. Localización de las letras minúsculas en las columnas 6 y 7 causó la caracteres difieren en al patrón de bits de la caja superior por un único bit, lo que simplifica juego de caracteres entre mayúsculas y minúsculas y la construcción de teclados e impresoras.

El comité X3 hizo otros cambios, incluyendo otros nuevos personajes (el corsé y personajes de línea vertical), el cambio de nombre algunos caracteres de control (SOM convirtieron empezar de cabecera (SOH)) y mover o retirar otros (RU fue eliminado). ASCII se actualizó posteriormente como USASI X3.4-1967, entonces USASI X3.4-1968, ANSI X3.4-1977, y finalmente, ANSI X3.4-1986 (los dos primeros son de vez en cuando retronamed ANSI X3.4-1967, y ANSI X3.4-1968).

El comité X3 también abordó cómo debería transmitirse ASCII ( bit menos significativo primero), y la forma en que se deben registrar en la cinta perforada. Propusieron un Estándar de 9 pistas de cinta magnética, y trató de hacer frente a algunas formas de formatos de tarjetas perforadas.

ASCII sí mismo fue utilizado por primera vez en el mercado durante 1963 como un código de teletipo de siete bits para American Telephone y Telegraph red de TWX (teletipo de cambio). TWX originalmente utilizado el código Baudot cinco poco antes, que también fue utilizado por el que compiten Sistema de teletipo Telex. Bob Bemer introdujo características tales como la secuencia de escape. Su colega británico Hugh McGregor Ross ayudó a popularizar esta obra -según Bemer ", tanto es así que el código que se convertiría en ASCII fue llamado primero el Código Bemer-Ross en Europa". Debido a su extenso trabajo en ASCII, Bemer ha sido llamado "el padre de ASCII."

El 11 de marzo de 1968, el presidente estadounidense Lyndon B. Johnson ordenó que todos los equipos adquiridos por el federal ASCII apoyo del gobierno de Estados Unidos, declarando:

También he aprobado las recomendaciones del Secretario de Comercio en materia de normas para el registro de la Código normalizado para el intercambio de información en cintas magnéticas y cintas de papel cuando se utilizan en operaciones de computadora. Todos los ordenadores y configuraciones de equipos relacionados traídos al inventario Gobierno Federal 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 magnéticas cinta y papel de cinta cuando se utilizan estos medios de comunicación.

Otros organismos de normalización internacionales han ratificado la codificación de caracteres tales como ISO / IEC 646 que son idénticos o casi idénticos a ASCII, con extensiones para caracteres fuera del alfabeto Inglés y símbolos utilizados 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 ASCII adapta a las necesidades de sólo los EE.UU. y algunos otros países. Por ejemplo, Canadá tuvo su propia versión que apoyó personajes franceses. Otras codificaciones adaptados incluyen ISCII (India), VISCII (Vietnam), y YUSCII (Yugoslavia). Aunque estas codificaciones se refieren a veces como ASCII, verdadero ASCII se define estrictamente sólo por la norma ANSI.

ASCII se incorporó en el Conjunto de caracteres Unicode como los primeros 128 símbolos, por lo que los caracteres ASCII tienen los mismos códigos numéricos en ambos conjuntos. Esto permite UTF-8 para ser compatible hacia atrás con ASCII, una ventaja significativa.

Caracteres de control ASCII

Reservas ASCII los primeros 32 códigos (números 0-31 decimales) para caracteres de control: códigos originalmente destinados a no representar información imprimible, sino más bien para controlar dispositivos (tales como impresoras) que hacen uso de ASCII, o para proporcionar meta-información acerca de los flujos de datos, tales como los almacenados en cinta magnética. Por ejemplo, el carácter 10 representa la función "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 el 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 líneas elemental, ASCII no define ningún mecanismo para describir la estructura o el aspecto del texto dentro de un documento. Otros sistemas, como los lenguajes de marcas , página de dirección y diseño del documento y el formato.

El estándar ASCII original utilizaba frases descriptivas sólo cortos para cada carácter de control. La ambigüedad que esto causó a veces intencional (donde un personaje se utilizaría de forma ligeramente diferente en un enlace de terminal que en un flujo de datos) y, a veces accidental (como lo que "eliminar" se entiende).

Probablemente el dispositivo más influyente sobre la interpretación de estos personajes fue el Teletype Modelo 33 ASR, que era un terminal de impresión con una disposición cinta de papel opción 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 algunos aspectos menos frágiles que la cinta magnética. En particular, los teletipo 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 ( Eliminar) se convirtió en estándares de facto. Debido a que la parte superior del teclado para la tecla O también mostró un símbolo de flecha izquierda (de ASCII-1963, que tuvo este personaje en lugar de subrayado), un uso inadecuado de código 15 (Control-O, Shift In) interpretado como "borrar el carácter anterior" también fue adoptado por muchos sistemas de tiempo compartido temprano, pero el tiempo se convirtió descuidado.

El uso de Control-S (XOFF, una abreviatura de la transmisión por fuera) como una señal de "apretón de manos", advirtiendo un remitente para detener la transmisión debido a la inminente desbordamiento, y Control-Q (XON, "transmitir en") para reanudar el envío, persiste a hoy, en muchos sistemas como una técnica manual de control de salida. En algunos sistemas de control-S mantiene su significado sino Control-Q se sustituye por un segundo control-S para reanudar la producción.

Código 127 es el nombre oficial de "delete", pero la etiqueta teletipo era "borradura". Dado que la norma original no daba interpretación detallada para la mayoría de los códigos de control, las interpretaciones de este código variaron. El significado teletipo original, y la intención de la norma, fue para que sea un personaje ignorado, la misma que NUL (todos ceros). Esto era útil específicamente para cinta de papel, porque la perforación de la todo-uno patrón de bits en la parte superior de una marca existente sería destruya. Cintas diseñados para ser "mano editados" incluso podría ser producido con espacios de NULs extra (cinta en blanco), que un bloque de caracteres podría ser "borradas" y luego reemplazos ponen en el espacio vacío.

Como terminales de vídeo comenzaron a reemplazar la impresión queridos, el valor del carácter "rubout" se perdió. Sistemas de diciembre, por ejemplo, interpretaron "Borrar" en el sentido de "eliminar el carácter antes del cursor" y esta interpretación también se hizo común en los sistemas Unix. La mayoría de los otros sistemas utilizan "retroceso" para ese significado y usan "Borrar" en el sentido de "eliminar el carácter en el cursor". Esta última interpretación es la más común ahora.

Muchos más de los códigos de control se les ha dado significados muy diferentes de sus originales. La "fuga" de caracteres (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 las codificaciones de URL, lenguaje C cuerdas y otros sistemas en los que algunos personajes tienen un significado reservado. Con el tiempo este sentido ha sido cooptado y, finalmente, se ha cambiado. En el uso moderno, un ESC enviado a la terminal por lo general indica el inicio de una secuencia de comandos, por lo general en la forma de un llamado " ANSI código de escape "(o, más correctamente, un" control de secuencia Introductor ") comenzando con ESC seguido de un" (corchete izquierdo) carácter [". Un ESC enviado desde el terminal se utiliza más a menudo como un fuera de banda personaje utiliza para terminar una operación, como en el TECO y vi editores de texto. En interfaz gráfica de usuario (GUI) y sistemas de ventanas, ESC generalmente causa una aplicación para abortar su funcionamiento actual o para salida (terminar) por completo.

La ambigüedad inherente de muchos caracteres de control, junto con su uso histórico, creó problemas al transferir archivos "texto plano" entre sistemas. El mejor ejemplo de esto es el problema de nueva línea en varios sistemas operativos. Máquinas de teletipo requiere que una línea de texto terminarse con tanto "retorno de carro" (que se mueve el cabezal de impresión al inicio de la línea) y "Línea de alimentación" (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 teclas 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.

Sistemas operativos (diciembre OS / 8, RT-11, RSX-11, RSTS, TOPS-10, etc.) utilizan ambos personajes para marcar el final de una línea para que el dispositivo de consola (originalmente Máquinas de teletipo) funcionarían. En el momento en el llamado "vidrio TTY" (más tarde llamados tubos de rayos catódicos o terminales) llegó, la convención fue tan bien establecido que la compatibilidad necesaria la continuación de la convención. Cuando Gary Kildall clonado RT-11 para crear CP / M Siguió estableció Convención diciembre. Hasta la introducción de PC-DOS en 1981, IBM tuvo nada que ver en esto porque sus 1970 sistemas utilizados EBCDIC en lugar de ASCII operativo y se les orienta hacia la entrada de tarjetas perforadas y la salida de impresora en línea en la que el concepto de "retorno de carro" no tenía sentido. IBM PC-DOS (también comercializado como MS-DOS de Microsoft) heredó la convención en virtud de ser un clon de CP / M, y 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 la forma de interpretar cada personaje cuando se encuentran solos innecesario. Para simplificar las cosas flujos de datos de texto sin formato, incluidos los archivos, en Multics utilizado avance de línea (LF) sola como un terminador de línea. Unix y Sistemas tipo Unix, y Sistemas Amiga, adoptaron esta convención de Multics. El original Macintosh OS, Apple DOS, y ProDOS, por otro lado, que se utiliza retorno de carro (CR) solo como un terminador de línea; Sin embargo, desde que Apple lo reemplazó con basado en Unix el Sistema operativo OS X, que ahora utilizan avance de línea (LF) también.

Computadoras adjunto a la ARPANET incluye máquinas que ejecutan sistemas operativos como TOPS-10 y TENEX usando finales de líneas CR-LF, máquinas que ejecutan sistemas operativos tales como Multics usando los finales de línea LF, y máquinas que ejecutan sistemas operativos tales como OS / 360 que representó líneas como un personaje recuento seguido de los caracteres de la línea y que se utilizan EBCDIC en lugar de ASCII. La Protocolo Telnet define una ASCII "terminal virtual de red" (NVT), por lo que las conexiones entre los hosts 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 sobre la red; que utiliza ASCII, junto con los finales de línea CR-LF, y el software utilizando otros convenios se traduciría entre las convenciones locales y el NVT. La File Transfer Protocol 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 ASCII predeterminado. Esto añade complejidad a las implementaciones de estos protocolos, y para otros protocolos de red, tales como los utilizados para E-mail y la World Wide Web, en los sistemas que no utilizan CR-LF convención de final de línea de la NVT.

Sistemas operativos más antiguos como TOPS-10, junto con CP / M, rastrearon la longitud del archivo sólo en unidades de bloques de disco y utilizarse Control-Z (SUB) para marcar el final del texto actual en el archivo. Por esta razón, EOF, o EOF, fue utilizado coloquialmente y convencionalmente como una acrónimo de tres letras (TLA) para el Control-Z en lugar del sustituto. Por una variedad de razones, el código de final de texto, ETX aka Control-C, fue inapropiada y el uso de Z como el código de control para terminar un archivo es análogo a lo que termina el alfabeto, una muy conveniente ayuda mnemotécnica. Utiliza un común, y aún prevalece histórico, la convención ETX aka Control-C convención código para interrumpir y detener un programa a través de un flujo de datos de entrada, por lo general de un teclado.

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

ASCII Tabla de códigos de control

Binario Octubre Diciembre Maleficio Abbr Nombre
000 0000 000 0 00 NUL ^ @ \ 0 Carácter nulo
000 0001 001 1 01 SOH ^ A Inicio de Cabecera
000 0010 002 2 02 STX ^ B Inicio de texto
000 0011 003 3 03 ETX ^ C Fin del texto
000 0100 004 4 04 EOT ^ D Fin de la transmisión
000 0101 005 5 05 ENQ ^ E Consulta
000 0110 006 6 06 ACK ^ F Reconocimiento
000 0111 007 7 07 BEL ^ G \ A Campana
000 1000 010 8 08 BS ^ H \ B Retroceso
000 1001 011 9 09 HT ^ I \ T Tab Horizontal
000 1010 012 10 0A LF ^ J \ N Salto de línea
000 1011 013 11 0B Vermont ^ K \ V Tab Vertical
000 1100 014 12 0C FF ^ L \ F Avance de página
000 1101 015 13 0D CR ^ M \ R Retorno de carro
000 1110 016 14 0E SO ^ N Shift fuera
000 1111 017 15 0F SI ^ O Cambio en
001 0000 020 16 10 DLE ^ P De enlace de datos de Escape
001 0001 021 17 11 DC1 ^ Q Device Control 1 (oft. XON)
001 0010 022 18 12 DC2 ^ R Control de dispositivos 2
001 0011 023 19 13 DC3 ^ S Control de dispositivos 3 (oft. XOFF)
001 0100 024 20 14 DC4 ^ T Control de dispositivos 4
001 0101 025 21 15 NAK ^ U Reconocimiento Negativo
001 0110 026 22 16 SYN ^ V Inactivo síncrono
001 0111 027 23 17 ETB ^ W Fin de la transmisión Bloquear
001 1000 030 24 18 CAN ^ X Cancelar
001 1001 031 25 19 EM ^ Y Fin del Medio
001 1010 032 26 1A SUB ^ Z Sustituto
001 1011 033 27 1B ESC ^ [ \ E Escape
001 1100 034 28 1C FS ^ \ Separador de archivos
001 1101 035 29 1D GS ^] Separador de grupos
001 1110 036 30 1E RS ^^ Record Separador
001 1111 037 31 1F EE.UU. ^ _ Unidad separadora
111 1111 177 127 7F DEL ^? Borrar
  1. ^ El Caracteres Unicode de la zona de U + 2400 a U + 2421 reservado para la representación de caracteres de control cuando es necesario imprimir o mostrarlos en vez de hacer que se realice su función prevista. Algunos navegadores no pueden mostrar estos correctamente.
  2. ^ Notación Caret menudo usado para representar los caracteres de control en un terminal. En la mayoría de los terminales de texto, mantenga pulsada la Tecla Ctrl mientras se escribe el segundo carácter se escriba el carácter de control. A veces no se necesita la tecla de mayúsculas, por ejemplo ^ @ puede ser tipificable con sólo Ctrl y 2.
  3. ^ Códigos carácter de escape en lenguaje de programación C y muchos otros lenguajes influenciados por ella, tales como Java y Perl (aunque no todas las implementaciones soportan necesariamente todos los códigos de escape).
  4. ^ El carácter Retroceso también se puede introducir con la tecla ← Retroceso en algunos sistemas.
  5. ^ A b La ambigüedad de retroceso se debe a primeros terminales diseñados asumiendo el uso principal del teclado sería perforar manualmente cinta de papel mientras no está conectado a un ordenador. Para borrar el carácter anterior, había que respaldar el golpe de cinta de papel, que por razones mecánicas y simplicidad era un botón en el propio punzón y no el teclado, a continuación, escriba el carácter de borradura. Por lo tanto, colocaron una rubout producir clave en la ubicación utilizada en máquinas de escribir para la tecla de retroceso. Cuando los sistemas utilizan estos terminales y siempre la edición de línea de comandos, que tuvieron que utilizar el código "borradura" para realizar un retroceso, ya menudo no interpretaron el carácter de retroceso (que podrían echo "^ H" de retroceso). Otros terminales no diseñados para la cinta de papel hicieron la clave en este lugar producen Retroceso, y sistemas diseñados para ellos usan ese personaje para realizar copias de seguridad. Dado que el código de eliminación a menudo produce un efecto de retroceso, esto también obligó a los fabricantes de terminales para hacer cualquier tecla Supr producir algo que no sea el carácter Eliminar.
  6. ^ El carácter Tab también se puede introducir pulsando la tecla Tab en la mayoría de los sistemas.
  7. ^ El carácter de retorno de carro también se puede introducir pulsando la tecla Intro en la mayoría de los sistemas.
  8. ^ La secuencia de escape '\ e' no es parte de la ISO C y muchas otras especificaciones del lenguaje. Sin embargo, se entiende por varios compiladores.
  9. ^ El carácter de escape también se puede introducir con la tecla Esc en algunos sistemas.
  10. ^ ^^ Significa Ctrl + ^ (pulsando la tecla "Ctrl" y las teclas de intercalación).
  11. ^ El carácter Eliminar veces se puede introducir con la tecla ← Retroceso en algunos sistemas.

Caracteres ASCII imprimibles

Códigos 20 hex a 7E hex , conocido 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 hex , la carácter de espacio, denota el espacio entre las palabras, como el producido por la barra espaciadora del teclado. Dado el carácter de espacio se considera un gráfico invisible (en lugar de un carácter de control) y por lo tanto normalmente no sería visible, que está representada aquí por Carácter Unicode U + 2420 "␠"; Caracteres Unicode U + 2422 "␢" y U + 2423 "␣" también están disponibles para su uso cuando es necesario una representación visible de un espacio.

Código 7F hexadecimal corresponde a la (DEL) carácter de control no imprimible "Borrar" y, por 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 de la intercalación (5E hexagonal ) y la flecha hacia la izquierda en lugar de la subrayado (5F hexagonal ).

Binario Octubre Diciembre Maleficio Glifo
010 0000 040 32 20
010 0001 041 33 21 !
010 0010 042 34 22 "
010 0011 043 35 23 #
010 0100 044 36 24 $
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 ?
Binario Octubre Diciembre Maleficio Glifo
100 0000 100 64 40 @
100 0001 101 65 41 La
100 0010 102 66 42 B
100 0011 103 67 43 C
100 0100 104 68 44 D
100 0101 105 69 45 E
100 0110 106 70 46 F
100 0111 107 71 47 G
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 M
100 1110 116 78 4E N
100 1111 117 79 4F O
101 0000 120 80 50 P
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 U
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 _
Binario Octubre Diciembre Maleficio Glifo
110 0000 140 96 60 `
110 0001 141 97 61 un
110 0010 142 98 62 b
110 0011 143 99 63 c
110 0100 144 100 64 d
110 0101 145 101 65 e
110 0110 146 102 66 F
110 0111 147 103 67 g
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 m
110 1110 156 110 6E n
110 1111 157 111 6F o
111 0000 160 112 70 p
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 |
111 1101 175 125 7D }
111 1110 176 126 7E ~

Alias

A 06 1992 RFC y la Internet Assigned Numbers Authority registro de conjuntos de caracteres reconocen los siguientes alias de mayúsculas y minúsculas para ASCII como adecuados para su uso en Internet:

  • ANSI_X3.4-1968 (nombre canónico)
  • iso-ir-6
  • ANSI_X3.4-1986
  • ISO_646.irv: 1991
  • ASCII (con ASCII-7 y ASCII-8 variantes)
  • Iso646-EEUU
  • US-ASCII (preferido Nombre MIME)
  • nosotros
  • IBM367
  • cp367
  • csASCII

De éstos, la IANA fomenta el uso del nombre "US-ASCII" para usos de Internet de ASCII. Uno encuentra a menudo presente en el parámetro opcional "charset" en la cabecera Content-Type de algunos mensajes MIME, en el elemento equivalente "meta" de algunos Documentos HTML, y en la parte de declaración de codificación del prólogo de algunos Documentos XML.

Variantes

Al propagarse la tecnología informática en todo el mundo, diferente organismos y corporaciones normas desarrolladas muchas variaciones de ASCII para facilitar la expresión de las lenguas no inglesas que utilizan alfabetos basados-romana. Uno podría clase algunas de estas variaciones como " Extensiones ASCII ", aunque algunos mal uso ese término para representar todas las variantes, incluyendo aquellos que no conserva carácter mapa del ASCII en el rango de 7 bits.

La Código PETSCII Commodore International utilizado para sus sistemas de 8 bits 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 Ordenador ZX Spectrum. Atari y Ordenadores Galaksija también utilizaron variantes ASCII.

7 bits

Desde muy 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, publicó en última instancia como ISO / IEC 646 (1972), que compartiría la mayoría de los personajes en común pero asignar otros personajes localmente útiles para varios puntos de código reservados para el "uso nacional." Sin embargo, los cuatro años que transcurrieron 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 nacionales de uso para parecen ser las normas 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, era un juego de caracteres de 7 bits. No tenía 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 de trabajar con y por lo tanto que el personaje representado un código, y en general de sistemas de procesamiento de textos podría 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 la norma ISO / IEC 646, un programador alemán, francés o sueco, etc. utilizando su variante nacional de ISO / IEC 646, en lugar de ASCII, tenía que escribir, leer y por lo tanto, algo tal como

ä AAIU = "on"; ü

en lugar de

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

C trigrafos fueron creados para solucionar este problema para ANSI C, aunque su tardía introducción y aplicación inconsistente en compiladores limitan su uso.

8-bit

Eventualmente, a medida de 8, 16, y Equipos de 32 bits comenzaron a reemplazar de 18 y 36 bits computadoras como la norma, se hizo común el uso de un byte de 8 bits para almacenar cada carácter en la memoria, proporcionando una oportunidad para extendidas, 8 bits, familiares de ASCII. En la mayoría de los casos éstos desarrollan como verdaderas extensiones de ASCII, dejando el carácter de mapeo original intacta, pero añadiendo definiciones de caracteres adicionales después de los primeros 128 (es decir, 7 bits) caracteres.

La mayoría de los sistemas informáticos del hogar temprano desarrollaron sus propios conjuntos de caracteres de 8 bits que contienen la línea de dibujo y juegos glifos, y suelen estar llenos en todos o algunos de los caracteres de control 0-31 con más gráficos. El IBM PC define código de la página 437, que sustituyó a los caracteres de control con símbolos gráficos como caras sonrientes, y se asigna caracteres gráficos adicionales a las 128 posiciones superiores. Los sistemas operativos tales como DOS apoyó estas páginas de código, y los fabricantes de PCs de IBM los apoyaron en hardware. Digital Equipment Corporation desarrolló el Multinacional Conjunto de caracteres (diciembre-MCS) para su uso en el popular VT220 terminal, esta fue una de las primeras extensiones diseñadas más para idiomas internacionales que para los gráficos de bloque. El Macintosh define Mac OS romano y Postscript también definieron un conjunto, tanto de estas dos cartas internacionales contenidas y signos de puntuación tipográficos en lugar de gráficos, más como conjuntos de caracteres modernos. La ISO / IEC 8859 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). Otra extensión 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 atractivo.

ISO-8859-1, Windows-1252, y el ASCII de 7 bits originales eran las codificaciones de caracteres más comunes hasta finales de los años 2000, hoy en día UTF-8 es cada vez más común.

Unicode

Unicode y la ISO / IEC 10646 Juego de caracteres universal (UCS) tiene una gama mucho más amplia de personajes y sus diversas formas de codificación han comenzado a suplantar a la norma ISO / IEC 8859 y ASCII rápidamente en muchos entornos. Mientras ASCII está limitada a 128 caracteres, Unicode y 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 codificación (a 8, los formatos de 16 o 32 bits binarios, llamado UTF-8, UTF-16 y UTF-32).

Para permitir la compatibilidad con versiones anteriores, el 128 ASCII y 256 ISO-8859-1 (Latin 1) caracteres se asignan puntos de código Unicode / UCS que son los mismos que sus códigos en las normas anteriores. Por lo tanto, ASCII se puede considerar un esquema de codificación de 7 bits para un pequeño subconjunto de Unicode / UCS, y ASCII (cuando el prefijo 0 como el octavo bit) es UTF-8 válido.

Orden

Orden de código ASCII también se llama orden ASCIIbetical. Cotejo de los datos se hace a veces en este orden y no por orden alfabético "estándar" ( orden de clasificación). Las principales desviaciones en orden ASCII son:

  • Todo en mayúsculas preceden a las minúsculas, por ejemplo, "Z" antes de "a"
  • Dígitos y muchos signos de puntuación vienen antes de las letras, por ejemplo, "4" precede "uno"
  • Los números están ordenados ingenuamente como cadenas, por ejemplo, "10" precede a "2"

Una orden intermedio - implementado fácilmente - convierte letras mayúsculas a minúsculas antes de comparar los valores ASCII. Número Naïve clasificación puede ser evitado por cero llenar todos los números (por ejemplo, "02" va a clasificar antes "10" como se esperaba), aunque esto es una solución externa y no tiene nada que ver con el propio ordenamiento.

Recuperado de " http://en.wikipedia.org/w/index.php?title=ASCII&oldid=542989240 "