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 ?
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 |
- ^ 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.
- ^ 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.
- ^ 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).
- ^ El carácter Retroceso también se puede introducir con la tecla ← Retroceso en algunos sistemas.
- ^ 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.
- ^ El carácter Tab también se puede introducir pulsando la tecla Tab ↹ en la mayoría de los sistemas.
- ^ El carácter de retorno de carro también se puede introducir pulsando la tecla Intro ↵ en la mayoría de los sistemas.
- ^ 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.
- ^ El carácter de escape también se puede introducir con la tecla Esc en algunos sistemas.
- ^ ^^ Significa Ctrl + ^ (pulsando la tecla "Ctrl" y las teclas de intercalación).
- ^ 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 ).
|
|
|
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.