Página semiprotejada
De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

ASCII ( / æ s k i / ( escuchar ) Sobre este sonido CULO -kee ), [3] : 6 abreviada 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. Los 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, aunque admiten muchos caracteres adicionales.

La Autoridad de Números Asignados de Internet (IANA) prefiere el nombre US-ASCII para esta codificación de caracteres. [2]

ASCII es uno de los hitos de IEEE .

Visión general

ASCII se desarrolló a partir del código telegráfico . Su primer uso comercial fue como código de teletipo de siete bits promovido 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 del subcomité X3.2 de la Asociación Estadounidense de Estándares (ASA) (ahora Instituto Nacional Estadounidense de Estándares o ANSI). La primera edición de la norma se publicó en 1963, [4] [5] se sometió a una revisión importante durante 1967, [6] [7] y experimentó su actualización más reciente durante 1986. [8]En comparación con los códigos telegráficos anteriores, el código Bell propuesto y el ASCII se ordenaron para una clasificación más conveniente (es decir, alfabetización) de listas y características adicionales para dispositivos distintos de los teleimpresores. [ cita requerida ]

El uso del formato ASCII para el intercambio de redes se describió en 1969. [9] Ese documento se elevó formalmente a Estándar de Internet en 2015. [10]

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

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

Historia

ASCII (1963). Las imágenes de control de controles equivalentes se muestran donde existen, o un punto gris en caso contrario.

El Código Estándar Estadounidense para el Intercambio de Información (ASCII) fue desarrollado bajo los auspicios de un comité de la Asociación Estadounidense de Estándares (ASA), llamado comité X3, por su subcomité X3.2 (más tarde X3L2) y más tarde por el X3 de ese subcomité. 2.4 grupo de trabajo (ahora INCITS ). La ASA se convirtió en el Instituto de Normas de los Estados Unidos de América (USASI) [3] : 211 y, en última instancia, en el Instituto Nacional de Normas de los Estados Unidos (ANSI).

Con los demás caracteres especiales y códigos de control completados, ASCII se publicó como ASA X3.4-1963, [5] [13] dejando 28 posiciones de código sin ningún significado asignado, reservadas para estandarización futura y un código de control sin asignar. [3] : 66, 245 Hubo cierto debate en ese momento sobre si debería haber más caracteres de control en lugar del alfabeto en minúsculas. [3] : 435 La indecisión no duró mucho: en mayo de 1963 el Grupo de Trabajo del CCITT sobre el Nuevo Alfabeto Telegráfico propuso asignar caracteres en minúscula a las barras [a] [14] 6 y 7, [15] y la Organización Internacional de NormalizaciónTC 97 SC 2 votó durante octubre para incorporar el cambio en su proyecto de norma. [16] El grupo de trabajo X3.2.4 votó su aprobación para el cambio a ASCII en su reunión de mayo de 1963. [17] La ubicación de las letras minúsculas en las barras [a] [14] 6 y 7 provocó que los caracteres difirieran en el patrón de bits de las mayúsculas en un solo bit, lo que simplificó la coincidencia de caracteres sin distinción entre mayúsculas y minúsculas y la construcción de teclados e impresoras.

El comité X3 hizo otros cambios, incluidos otros caracteres nuevos (la llave y los caracteres de la barra vertical ), [18] renombrando algunos caracteres de control (SOM se convirtió en el inicio del encabezado (SOH)) y moviendo o quitando otros (RU fue eliminado). [3] : 247–248 ASCII se actualizó posteriormente como USAS X3.4-1967, [6] [19] luego USAS X3.4-1968, ANSI X3.4-1977 y, finalmente, ANSI X3.4-1986. [8] [20]

Revisiones del estándar ASCII:

  • ASA X3.4-1963 [3] [5] [19] [20]
  • ASA X3.4-1965 (aprobado, pero no publicado; no obstante, utilizado por las estaciones de pantalla IBM 2260 y 2265 y el control de pantalla IBM 2848 ) [3] : 423, 425–428, 435–439 [21] [19] [20]
  • USAS X3.4-1967 [3] [6] [20]
  • USAS X3.4-1968 [3] [20]
  • ANSI X3.4-1977 [20]
  • ANSI X3.4-1986 [8] [20]
  • ANSI X3.4-1986 (R1992)
  • ANSI X3.4-1986 (R1997)
  • INCITOS ANSI 4-1986 (R2002) [22]
  • INCITOS ANSI 4-1986 (R2007) [23]
  • (ANSI) INCITS 4-1986 [R2012] [24]
  • (ANSI) INCITS 4-1986 [R2017] [25]

En el estándar X3.15, el comité X3 también abordó cómo se debe transmitir ASCII (el bit menos significativo primero), [3] : 249-253 [26] y cómo se debe grabar en cinta perforada. Propusieron un estándar de 9 pistas para cinta magnética e intentaron lidiar con algunos formatos de tarjetas perforadas .

Consideraciones de diseño

Ancho de bits

El subcomité X3.2 diseñó ASCII basándose en los sistemas de codificación de teleimpresores anteriores. Como otras codificaciones de caracteres , ASCII especifica una correspondencia entre patrones de bits digitales y símbolos de caracteres (es decir, grafemas y caracteres de control ). Esto permite que los dispositivos digitales se comuniquen entre sí y procesen, almacenen y comuniquen información orientada a los caracteres, como el lenguaje escrito. Antes de que se desarrollara ASCII, las codificaciones en uso incluían 26 caracteres alfabéticos , 10 dígitos numéricos y de 11 a 25 símbolos gráficos especiales. Para incluir todos estos, y controlar personajes compatibles con elComité Consultatif International Téléphonique et Télégraphique (CCITT) International Telegraph Alphabet No. 2 (ITA2) estándar de 1924, [27] [28] FIELDATA (1956 [ cita requerida ] ), y EBCDIC temprano (1963), se requerían más de 64 códigos para ASCII.

ITA2, a su vez, se basaron en el código telegráfico de 5 bits que Émile Baudot inventó en 1870 y patentó en 1874. [28]

El comité debatió la posibilidad de una función de desplazamiento (como en ITA2 ), que permitiría representar más de 64 códigos mediante un código de seis bits . En un código desplazado, algunos códigos de caracteres determinan las opciones entre las opciones para los siguientes códigos de caracteres. Permite una codificación compacta, pero es menos confiable para la transmisión de datos , ya que un error en la transmisión del código de cambio generalmente hace que una gran parte de la transmisión sea ilegible. El comité de estándares decidió no cambiar, por lo que ASCII requería al menos un código de siete bits. [3] : 215, 236 §4

El comité consideró un código de ocho bits, ya que ocho bits ( octetos ) permitirían que dos patrones de cuatro bits codificaran eficientemente dos dígitos con decimal codificado en binario . Sin embargo, requeriría que toda la transmisión de datos envíe ocho bits cuando siete podrían ser suficientes. El comité votó a favor de utilizar un código de siete bits para minimizar los costos asociados con la transmisión de datos. Dado que la cinta perforada en ese momento podía grabar ocho bits en una posición, también permitía un bit de paridad para la verificación de errores si se deseaba. [3] : 217, 236 §5 Las máquinas de ocho bits (con octetos como tipo de datos nativos) que no usaban la verificación de paridad, por lo general, establecen el octavo bit en 0. [29]

Organización interna

El código en sí estaba estructurado para que la mayoría de los códigos de control estuvieran juntos y todos los códigos gráficos estuvieran juntos, para facilitar la identificación. Los dos primeros sticks ASCII [a] [14] (32 posiciones) se reservaron para caracteres de control. [3] : 220, 236 8,9) El carácter de "espacio" tenía que ir antes de los gráficos para facilitar la clasificación , por lo que se convirtió en la posición 20 hex ; [3] : 237 §10 por la misma razón, muchos signos especiales comúnmente utilizados como separadores se colocaron antes de los dígitos. El comité decidió que era importante admitir alfabetos de 64 caracteres en mayúsculas , y eligió el patrón ASCII para que pudiera reducirse fácilmente a un conjunto de códigos gráficos utilizables de 64 caracteres, [3] : 228, 237 §14 como se hizo en el código DEC SIXBIT (1963). Por lo tanto, las letras minúsculas no se intercalaron con mayúsculas. Para mantener las opciones disponibles para letras minúsculas y otros gráficos, los códigos especiales y numéricos se colocaron antes de las letras, y la letra A se colocó en la posición 41 hexadecimal para que coincida con el borrador del estándar británico correspondiente. [3] : 238 §18 Los dígitos 0–9 tienen el prefijo 011, pero los 4 bits restantes corresponden a sus respectivos valores en binario, haciendo la conversión condecimal codificado en binario sencillo.

Muchos de los caracteres no alfanuméricos se colocaron para corresponder a su posición cambiada en las máquinas de escribir; una sutileza importante es que se basaron en máquinas de escribir mecánicas , no en máquinas de escribir eléctricas . [30] Las máquinas de escribir mecánicas siguieron el estándar establecido por Remington No. 2 (1878), la primera máquina de escribir con una tecla de mayúsculas, y los valores cambiados de 23456789-fueron "#$%_&'() : las primeras máquinas de escribir omitieron 0 y 1 , usando O (letra mayúscula o ) y l (letra L minúscula ) en su lugar, pero los pares 1!y se 0)convirtieron en estándar una vez que 0 y 1 se volvieron comunes. Así, en ASCII!"#$%se colocaron en el segundo palo, [a] [14] posiciones 1-5, correspondientes a los dígitos 1-5 en el palo adyacente. [a] [14] Sin embargo, los paréntesis no pueden corresponder a 9 y 0 , porque el espacio correspondiente a 0 lo ocupa el carácter de espacio. Esto se resolvió quitando _(subrayado) de 6 y cambiando los caracteres restantes, que correspondían a muchas máquinas de escribir europeas que colocaban los paréntesis con 8 y 9 . Esta discrepancia de las máquinas de escribir llevó a teclados emparejados de bits , en particular el Teletype Model 33, que utilizó el diseño desplazado a la izquierda correspondiente a ASCII, no a las máquinas de escribir mecánicas tradicionales. Las 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 las computadoras, siguiendo la IBM PC (1981), especialmente el Modelo M (1984), y por lo tanto los valores de desplazamiento de los símbolos en los teclados modernos no corresponden tan cerca de la tabla ASCII como lo hacían los teclados anteriores. El /?par también data del n. ° 2, y los ,< .>pares se usaron en algunos teclados (otros, incluido el n. ° 2, no cambiaron ,(coma) o .(punto) para que pudieran usarse en mayúsculas sin desviarse). Sin embargo, ASCII dividió el;:par (que data del n. ° 2), y símbolos matemáticos reorganizados (convenciones variadas, comúnmente -* =+) a :* ;+ -=.

Algunos caracteres comunes no se incluyeron, en particular ½¼¢, mientras que ^`~se incluyeron como signos diacríticos para uso internacional y <>para uso matemático, junto con los caracteres de línea simple \|(además de los comunes /). El símbolo @ no se usó en Europa continental y el comité esperaba que fuera reemplazado por una À acentuada en la variación francesa, por lo que la @ se colocó en la posición 40 hex , justo antes de la letra A. [3] : 243

Los códigos de control que se consideraron esenciales para la transmisión de datos fueron el inicio del mensaje (SOM), el fin de la dirección (EOA), el fin del mensaje (EOM), el fin de la transmisión (EOT), "¿quién es usted?" (WRU), "¿lo eres?" (RU), un control de dispositivo reservado (DC0), inactivo sincrónico (SYNC) y reconocimiento (ACK). Estos se colocaron para maximizar la distancia de Hamming entre sus patrones de bits. [3] : 243–245

Orden de caracteres

El orden del código ASCII también se denomina orden ASCIIbético . [31] de 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 el orden ASCII son:

  • Todas las mayúsculas van antes de las minúsculas; por ejemplo, "Z" precede a "a"
  • Los dígitos y muchos signos de puntuación se anteponen a las letras.

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

Grupos de personajes

Personajes de control

ASCII reserva los primeros 32 códigos (números 0-31 decimal) para caracteres de control : códigos originalmente destinados a no representar información imprimible, sino a controlar dispositivos (como impresoras ) que utilizan ASCII, o para proporcionar metainformación sobre datos. corrientes como las almacenadas en cinta magnética.

Por ejemplo, el carácter 10 representa la función de "avance de línea" (que hace que una impresora avance su papel) y el carácter 8 representa "retroceso". RFC  2822 se refiere a caracteres de control que no incluyen retorno de carro, salto de línea o espacio en blanco como caracteres de control que no son espacios en blanco. [32] Excepto por los caracteres de control que prescriben el formato elemental orientado a líneas, ASCII no define ningún mecanismo para describir la estructura o apariencia del texto dentro de un documento. Otros esquemas, como lenguajes de marcado , página de direcciones y diseño y formato de documentos.

El estándar ASCII original usaba solo frases descriptivas breves para cada carácter de control. La ambigüedad que esto causó fue a veces intencional, por ejemplo, cuando un carácter se usaría de manera ligeramente diferente en un enlace de terminal que en un flujo de datos , y a veces accidental, por ejemplo, con el significado de "eliminar".

Probablemente el dispositivo individual más influyente en la interpretación de estos caracteres fue el Teletype Model 33 ASR, que era un terminal de impresión con una opción de perforadora / lector de cinta de papel disponible . La cinta de papel fue un medio muy popular para el almacenamiento de programas a largo plazo hasta la década de 1980, menos costoso y, en cierto modo, menos frágil que la cinta magnética. En particular, las asignaciones de máquina del modelo 33 de teletipo para los códigos 17 (Control-Q, DC1, también conocido como XON), 19 (Control-S, DC3, también conocido como XOFF) y 127 ( Delete) se convirtieron en estándares de facto. El Modelo 33 también se destacó por tomar la descripción de Control-G (código 7, BEL, que significa alertar audiblemente al operador) literalmente, ya que la unidad contenía una campana real que sonó cuando recibió un carácter BEL. Debido a que la parte superior de la tecla O también mostraba un símbolo de flecha izquierda (de ASCII-1963, que tenía este carácter en lugar de un guión bajo ), un uso no conforme del código 15 (Control-O, Shift In) interpretado como "eliminar el carácter anterior" también fue adoptado por muchos de los primeros sistemas de tiempo compartido, pero finalmente se descuidó.

Cuando un ASR teletipo 33 equipado con el lector de cinta de papel automático recibió un Control-S (XOFF, una abreviatura de transmisión desactivada), hizo que el lector de cinta se detuviera; recibir Control-Q (XON, "transmitir en") hizo que el lector de cinta se reanudara. Esta técnica fue adoptada por varios de los primeros sistemas operativos informáticos como una señal de "apretón de manos" que advertía al remitente que detuviera la transmisión debido a un desbordamiento inminente; persiste hasta el día de hoy en muchos sistemas como una técnica de control de salida manual. En algunos sistemas, Control-S conserva su significado, pero Control-Q se reemplaza por un segundo Control-S para reanudar la salida. El 33 ASR también podría configurarse para emplear Control-R (DC2) y Control-T (DC4) para iniciar y detener la perforación de la cinta; en algunas unidades equipadas con esta función,CINTA respectivamente. [33]

Eliminar y retroceso

El teletipo no podía mover la cabeza hacia atrás, por lo que no puso una tecla en el teclado para enviar un BS (retroceso). En su lugar, había una clave marcada RUB OUTque enviaba el código 127 (DEL). El propósito de esta clave era borrar los errores en una cinta de papel mecanografiada a mano: el operador tenía que presionar un botón en el perforador de la cinta para hacer una copia de seguridad, luego escribir el borrado, que perforaba todos los agujeros y reemplazaba el error con un carácter que estaba destinado a ser ignorado. [34] Los teletipos se usaban comúnmente para las computadoras menos costosas de Digital Equipment Corporation , por lo que estos sistemas tenían que usar la clave disponible y, por lo tanto, el código DEL para borrar el carácter anterior. [35] [36]Debido a esto, los terminales de video DEC (por defecto) enviaron el código DEL para la tecla marcada "Retroceso" mientras que la tecla marcada "Eliminar" envió una secuencia de escape, mientras que muchos otros terminales enviaron BS para la tecla Retroceso. El controlador de terminal de Unix solo podía usar un código para borrar el carácter anterior, esto podría configurarse en BS o DEL, pero no en ambos, lo que resultó en un largo período de molestia donde los usuarios tuvieron que corregirlo dependiendo de qué terminal estaban usando (shells que permiten la edición de líneas, como ksh , bash y zsh , comprenda ambos). La suposición de que ninguna tecla envió un BS hizo que Control + H se usara para otros propósitos, como el comando de prefijo "ayuda" en GNU Emacs . [37]

Escapar

A muchos más códigos de control se les han dado significados bastante diferentes de los 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" que se encuentra en codificaciones de URL, cadenas de lenguaje C y otros sistemas donde ciertos caracteres tienen un significado reservado. Con el tiempo, este significado ha sido adoptado y eventualmente cambiado. En el uso moderno, un ESC enviado a la terminal generalmente indica el inicio de una secuencia de comando, generalmente en forma de un llamado " código de escape ANSI " (o, más propiamente, un " Introductor de secuencia de control") de ECMA-48 (1972) y sus sucesores, comenzando con ESC seguido de un carácter" ["(corchete izquierdo). Un ESC enviado desde el terminal se usa con mayor frecuencia como un carácter fuera de banda que se usa 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 a la salida (terminar) por completo.

Fin de la línea

La ambigüedad inherente de muchos caracteres de control, combinada con su uso histórico, creó problemas al transferir archivos de "texto sin formato" entre sistemas. El mejor ejemplo de esto es el problema de la nueva línea en varios sistemas operativos . Las máquinas de teletipo requerían que una línea de texto terminara con "Retorno de carro" (que mueve el cabezal de impresión al principio de la línea) y "Avance de línea" (que avanza el papel una línea sin mover el cabezal de impresión). El nombre "Retorno de carro" proviene del hecho de que en una máquina de escribir manualel carro que sostenía el papel se movía mientras que la posición donde las barras de tipo golpeaban la cinta permanecía inmóvil. Todo el carro tuvo que ser empujado (devuelto) hacia la derecha para colocar el margen izquierdo del papel en la siguiente línea.

Los sistemas operativos DEC ( OS / 8 , RT-11 , RSX-11 , RSTS , TOPS-10 , etc.) usaban ambos caracteres para marcar el final de una línea para que el dispositivo de la consola (originalmente máquinas de teletipo ) funcionara. Cuando aparecieron los llamados "TTY de vidrio" (más tarde llamados CRT o terminales), la convención estaba tan bien establecida que la compatibilidad con versiones anteriores hizo necesario continuar la convención. Cuando Gary Kildall creó CP / M , se inspiró en algunas convenciones de interfaz de línea de comandos utilizadas en el RT-11 de DEC . Hasta la introducción de PC DOS en 1981, IBMno tuvo nada que ver en esto porque sus sistemas operativos de la década de 1970 usaban EBCDIC en lugar de ASCII y estaban orientados hacia la entrada de tarjetas perforadas y la salida de impresoras de línea en las que el concepto de retorno de carro no tenía sentido. El PC DOS de IBM (también comercializado como MS-DOS por Microsoft) heredó la convención en virtud de estar vagamente basado en CP / M, [38] y Windows lo heredó de MS-DOS.

Desafortunadamente, requerir dos caracteres para marcar el final de una línea introduce una complejidad innecesaria y preguntas sobre cómo interpretar cada carácter cuando se encuentra solo. Para simplificar las cosas , los flujos de datos de texto plano , incluidos los archivos, en Multics [39] utilizaban el salto de línea (LF) solo como terminador de línea. Unix y Unix-como sistemas y Amiga sistemas, adoptaron esta convención de Multics. El sistema operativo Macintosh original , Apple DOS y ProDOS , por otro lado, usaban el retorno de carro (CR) solo como terminador de línea; Sin embargo, dado que Apple reemplazó estos sistemas operativos con macOS basado en Unixsistema operativo, ahora también utilizan el avance de línea (LF). El Radio Shack TRS-80 también usó un CR solitario para terminar líneas.

Las computadoras conectadas a ARPANET incluían máquinas que ejecutaban sistemas operativos como TOPS-10 y TENEX que usaban terminaciones de línea CR-LF, máquinas que ejecutaban sistemas operativos como Multics que usaban terminaciones de línea LF y máquinas que ejecutaban sistemas operativos como OS / 360 que representaban líneas como un recuento de caracteres seguido de los caracteres de la línea y que usaba EBCDIC en lugar de ASCII. El protocolo Telnet definió un " Terminal virtual de red ASCII"(NVT), de modo que las conexiones entre hosts con diferentes convenciones de terminación de línea y conjuntos de caracteres pudieran ser compatibles mediante la transmisión de un formato de texto estándar a través de la red. Telnet usaba ASCII junto con terminaciones de línea CR-LF y el software que usaba otras convenciones traduciría entre las convenciones locales y el NVT. [40] El Protocolo de transferencia de archivos adoptó el protocolo Telnet, incluido el uso de la Terminal virtual de red, para usar al transmitir comandos y transferir datos en el modo ASCII predeterminado. [41] [42] Esto agrega complejidad de las implementaciones de esos protocolos y de otros protocolos de red, como los que se utilizan para el correo electrónico y la World Wide Web, en sistemas que no utilizan la convención de finalización de línea CR-LF de NVT. [43][44]

Fin de archivo / transmisión

El monitor PDP-6, [35] y su sucesor PDP-10, TOPS-10, [36] utilizaron Control-Z (SUB) como indicación de fin de archivo para la entrada desde un terminal. Algunos sistemas operativos como CP / M rastreaban la longitud del archivo solo en unidades de bloques de disco y usaban Control-Z para marcar el final del texto real en el archivo. [45] Por estas razones, EOF, o fin de archivo , se usó coloquial y convencionalmente como un acrónimo de tres letras para Control-Z en lugar de SUBstitute. El código de fin de texto ( ETX ), también conocido como Control-C , era inapropiado por una variedad de razones, mientras que usar Z como código de control para terminar un archivo es análogo a terminar el alfabeto y sirve como una forma muy convenienteayuda mnemotécnica . Una convención históricamente común y aún prevaleciente usa la convención de código ETX para interrumpir y detener un programa a través de un flujo de datos de entrada, generalmente desde un teclado.

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

Tabla de códigos de control

El equipo especializado puede utilizar otras representaciones, por ejemplo, gráficos ISO 2047 o números hexadecimales .

Caracteres imprimibles

Los códigos 20 hexadecimales a 7E hexadecimal , conocidos como caracteres imprimibles, representan letras, dígitos, signos de puntuación y algunos símbolos diversos. Hay 95 caracteres imprimibles en total. [metro]

El código 20 hexadecimal , el carácter de "espacio" , denota el espacio entre palabras, como lo produce la barra espaciadora de un teclado. Dado que el carácter de espacio se considera un gráfico invisible (en lugar de un carácter de control) [3] : 223 [46] , se enumera en la tabla siguiente en lugar de en la sección anterior.

El código 7F hexadecimal corresponde al carácter de control de "eliminar" (DEL) no imprimible y, por lo tanto, se omite en este gráfico; se trata en el cuadro de la sección anterior. Las versiones anteriores de ASCII usaban la flecha hacia arriba en lugar del signo de intercalación ( hex 5E ) y la flecha izquierda en lugar del guión bajo ( hex 5F ). [5] [47]

Conjunto de caracteres

Los puntos que representaron un carácter diferente en versiones anteriores (la versión de 1963 y / o el borrador de 1965) se muestran en un recuadro. Los puntos asignados desde la versión de 1963, pero que por lo demás no han cambiado, se muestran ligeramente sombreados en relación con sus colores de leyenda.

  Letra  Número  Puntuación  Símbolo  Otro  Indefinido  Carácter cambiado desde la versión de 1963 y / o el borrador de 1965

Usar

ASCII se utilizó por primera vez comercialmente durante 1963 como un código de teletipo de siete bits para la red TWX (TeletypeWriter eXchange) de American Telephone & Telegraph . TWX utilizó originalmente el ITA2 de cinco bits anterior , que también fue utilizado por el sistema de teleimpresor Telex de la competencia . Bob Bemer introdujo características como la secuencia de escape . [4] Su colega británico Hugh McGregor Ross ayudó a popularizar este trabajo, según Bemer, "tanto que el código que se convertiría en ASCII se llamó por primera vez el Código Bemer-Ross en Europa". [48] Debido a su extenso trabajo en ASCII, Bemer ha sido llamado "el padre de ASCII".[49]

El 11 de marzo de 1968, el presidente de los Estados Unidos, Lyndon B. Johnson, ordenó que todas las computadoras compradas por el gobierno federal de los Estados Unidos admitieran ASCII, declarando: [50] [51] [52]

También he aprobado recomendaciones del Secretario de Comercio [ Luther H. Hodges ] con respecto a los estándares para registrar el Código Estándar para el Intercambio de Información en cintas magnéticas y cintas de papel cuando se utilizan en operaciones informáticas. Todas las computadoras y configuraciones de equipos relacionados que se incluyan en el inventario del 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 los estándares de cinta magnética y cinta de papel cuando se utilicen estos medios.

ASCII fue la codificación de caracteres más común en la World Wide Web hasta diciembre de 2007, cuando la codificación UTF-8 la superó; UTF-8 es compatible con versiones anteriores de ASCII. [53] [54] [55]

Variantes y derivaciones

A medida que la tecnología informática se extendió por todo el mundo, diferentes organismos de normalización y corporaciones desarrollaron muchas variaciones de ASCII para facilitar la expresión de idiomas distintos del inglés que utilizaban alfabetos basados ​​en romanos. Se podrían clasificar algunas de estas variaciones como " extensiones ASCII ", aunque algunos usan mal ese término para representar todas las variantes, incluidas aquellas que no conservan el mapa de caracteres ASCII en el rango de 7 bits. Además, las extensiones ASCII también se han etiquetado incorrectamente como ASCII.

Códigos de 7 bits

Desde el principio de su desarrollo, [56] ASCII estaba destinado a ser solo una de varias variantes nacionales de un estándar de código de caracteres internacional.

Otros organismos internacionales de normalización han ratificado codificaciones de caracteres como ISO 646 (1967) que son idénticas o casi idénticas a ASCII, con extensiones para caracteres fuera del alfabeto inglés y símbolos utilizados fuera de los Estados Unidos, como el símbolo de la libra esterlina del Reino Unido. (£). Casi todos los países necesitaban una versión adaptada de ASCII, ya que ASCII se adaptaba solo a las necesidades de EE. UU. Y algunos otros países. Por ejemplo, Canadá tenía su propia versión que admitía caracteres franceses.

Muchos otros países desarrollaron variantes de ASCII para incluir letras no inglesas (por ejemplo , é , ñ , ß , Ł ), símbolos de moneda (por ejemplo , £ , ¥ ), etc. Véase también YUSCII (Yugoslavia).

Compartiría la mayoría de los caracteres en común, pero asignaría otros caracteres útiles localmente a varios puntos de código reservados para "uso nacional". Sin embargo, los cuatro años que transcurrieron entre la publicación de ASCII-1963 y la primera aceptación por parte de ISO de una recomendación internacional durante 1967 [57] hicieron que las elecciones de ASCII para los caracteres de uso nacional parecieran ser estándares de facto para el mundo, causando confusión e incompatibilidad. una vez que otros países empezaron a hacer sus propias asignaciones a estos puntos de código.

ISO / IEC 646, como ASCII, es un conjunto de caracteres de 7 bits. No pone a disposición ningún código adicional, por lo que los mismos puntos de código codificaron diferentes caracteres en diferentes países. Los códigos de escape se definieron para indicar qué variante nacional se aplicaba a un fragmento de texto, pero rara vez se usaban, por lo que a menudo era imposible saber con qué variante trabajar y, por lo tanto, qué carácter representaba un código y, en general, el texto. De todos modos, los sistemas de procesamiento solo podían hacer frente a una variante.

Debido a que los caracteres de corchete y llave de ASCII se asignaron a puntos de código de "uso nacional" que se usaron para letras acentuadas en otras variantes nacionales de ISO / IEC 646, un programador alemán, francés o sueco, etc., que utilizó su variante nacional de ISO / IEC 646, en lugar de ASCII, tuvo que escribir, y por lo tanto leer, algo como

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

en vez de

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

Se crearon trígrafos en C para resolver este problema para ANSI C , aunque su introducción tardía y su implementación inconsistente en los compiladores limitaron su uso. Muchos programadores mantuvieron sus computadoras en US-ASCII, por lo que el texto sin formato en sueco, alemán, etc. (por ejemplo, en el correo electrónico o Usenet ) contenía "{,}" y variantes similares en medio de las palabras, algo que esos programadores obtuvieron. solía hacerlo. Por ejemplo, un programador sueco que envía un correo a otro programador preguntándole si debería ir a almorzar, podría obtener "N {jag har sm | rg} sar" como respuesta, que debería ser "Nä jag har smörgåsar", que significa "No, tengo bocadillos ".

Códigos de 8 bits

Eventualmente, cuando las computadoras de 8, 16 y 32 bits (y más tarde de 64 bits ) comenzaron a reemplazar las computadoras de 12 , 18 y 36 bits como norma, se hizo común usar un byte de 8 bits para almacenar cada carácter en la memoria, proporcionando una oportunidad para parientes extendidos de 8 bits de ASCII. En la mayoría de los casos, estos se desarrollaron como verdaderas extensiones de ASCII, dejando intacta la asignación de caracteres original, pero agregando definiciones de caracteres adicionales después de los primeros 128 (es decir, 7 bits) caracteres.

Las codificaciones incluyen ISCII (India), VISCII (Vietnam). Aunque estas codificaciones a veces se denominan ASCII, el verdadero ASCII se define estrictamente solo por el estándar ANSI.

La mayoría de los primeros sistemas informáticos domésticos desarrollaron sus propios conjuntos de caracteres de 8 bits que contenían dibujos de líneas y glifos de juegos y, a menudo, rellenaban algunos o todos los caracteres de control del 0 al 31 con más gráficos. Las computadoras Kaypro CP / M usaban los 128 caracteres "superiores" para el alfabeto griego.

El código PETSCII que Commodore International usó para sus sistemas de 8 bits es probablemente único entre los códigos posteriores a 1970 porque se basa en ASCII-1963, en lugar del ASCII-1967 más común, como el que se encuentra en la computadora ZX Spectrum . Las computadoras Atari de 8 bits y las computadoras Galaksija también usaban variantes ASCII.

El IBM PC definió la página de códigos 437 , que reemplazó los caracteres de control con símbolos gráficos como caritas sonrientes y asignó caracteres gráficos adicionales a las 128 posiciones superiores. Los sistemas operativos como DOS admitían estas páginas de códigos y los fabricantes de PC IBM las admitían en hardware. Digital Equipment Corporation desarrolló el conjunto de caracteres multinacional (DEC-MCS) para su uso en el popular terminal VT220 como una de las primeras extensiones diseñadas más para idiomas internacionales que para gráficos de bloques. Macintosh definió Mac OS Roman y Postscript también definieron un conjunto, ambos contenían letras internacionales y signos de puntuación tipográficos en lugar de gráficos, más como conjuntos de caracteres modernos.

El estándar ISO / IEC 8859 (derivado del DEC-MCS) finalmente proporcionó un estándar que la mayoría de los sistemas copiaron (al menos con la misma precisión que copiaron ASCII, pero con muchas sustituciones). Una extensión adicional popular diseñada por Microsoft, Windows-1252 (a menudo mal etiquetada como ISO-8859-1 ), agregó los signos de puntuación tipográficos necesarios para la impresión de texto tradicional. ISO-8859-1, Windows-1252 y el ASCII original de 7 bits fueron las codificaciones de caracteres más comunes hasta 2008, cuando UTF-8 se volvió más común. [54]

ISO / IEC 4873 introdujo 32 códigos de control adicionales definidos en el rango hexadecimal 80–9F , como parte de la extensión de la codificación ASCII de 7 bits para convertirse en un sistema de 8 bits. [58]

Unicode

Unicode y el conjunto de caracteres universal (UCS) ISO / IEC 10646 tienen una gama mucho más amplia de caracteres y sus diversas formas de codificación han comenzado a suplantar rápidamente a ISO / IEC 8859 y ASCII en muchos entornos. Mientras que ASCII está limitado a 128 caracteres, Unicode y UCS admiten más caracteres al separar los conceptos de identificación única (usando números naturales llamados puntos de código ) y codificación (a formatos binarios de 8, 16 o 32 bits, llamados UTF-8 , UTF-16 y UTF-32 ).

ASCII se incorporó al juego de caracteres Unicode (1991) como los primeros 128 símbolos, por lo que los caracteres ASCII de 7 bits tienen los mismos códigos numéricos en ambos juegos. Esto permite que UTF-8 sea compatible con versiones anteriores de ASCII de 7 bits, ya que un archivo UTF-8 que contiene solo caracteres ASCII es idéntico a un archivo ASCII que contiene la misma secuencia de caracteres. Aún más importante, la compatibilidad hacia adelante está garantizada como software que reconoce solo caracteres ASCII de 7 bits como especiales y no altera los bytes con el conjunto de bits más alto (como se hace a menudo para admitir extensiones ASCII de 8 bits como ISO-8859-1) conservará los datos UTF-8 sin cambios. [59]

Ver también

  • 3568 ASCII , un asteroide que lleva el nombre de la codificación de caracteres
  • Códigos alternativos
  • Ascii85
  • Arte ASCII
  • Campaña de cinta ASCII
  • Latín básico (bloque Unicode) (ASCII como subconjunto de Unicode)
  • ASCII extendido
  • Representación de caracteres decimales HTML
  • Jargon File , un glosario de jerga de programadores de computadoras que incluye una lista de nombres de jerga común para caracteres ASCII
  • Lista de juegos de caracteres de computadora
  • Lista de caracteres Unicode

Notas

  1. ^ a b c d e Los 128 caracteres del conjunto de caracteres ASCII de 7 bits se dividen en ocho grupos de 16 caracteres denominados sticks 0–7, asociados con los tres bits más significativos . [14] Dependiendo de la representación horizontal o vertical del mapa de caracteres, los palos se corresponden con filas o columnas de la tabla.
  2. ^ Loscaracteres Unicode del área U + 2400 a U + 2421 reservados para representar caracteres de control cuando es necesario imprimirlos o mostrarlos en lugar de que realicen su función prevista. Es posible que algunos navegadores no los muestren correctamente.
  3. ^ La notación Caret se usa a menudo para representar caracteres de control en un terminal. En la mayoría de los terminales de texto, si mantiene presionada laCtrltecla mientras escribe el segundo carácter, se escribirá el carácter de control. A veces, la tecla de mayúsculas no es necesaria, por ejemplo,^@se puede escribir con solo Ctrl y 2.
  4. ^ Secuencias de escape de caracteresen el lenguaje de programación C y muchos otros lenguajes influenciados por él, como Java y Perl (aunque no todas las implementaciones admiten necesariamente todas las secuencias de escape).
  5. ^ Elcarácter de retroceso también se puede ingresar presionando la← Backspacetecla en algunos sistemas.
  6. ^ a b La ambigüedad de Backspace se debe a los primeros terminales diseñados asumiendo que el uso principal del teclado sería perforar manualmente la cinta de papel sin estar conectado a una computadora. Para eliminar el carácter anterior, se tenía que hacer una copia de seguridad de la perforadora de cinta de papel, que por razones mecánicas y de simplicidad era un botón en la perforadora y no en el teclado, luego escribir el carácter de borrado. Por lo tanto, colocaron una llave que produce un borrado en el lugar utilizado en las máquinas de escribir para retroceder. Cuando los sistemas usaban estos terminales y proporcionaban edición de línea de comandos, tenían que usar el código "rubout" para realizar un retroceso y, a menudo, no interpretaban el carácter de retroceso (es posible que se repitan "^H"para retroceso). Otros terminales no diseñados para cinta de papel hicieron que la llave en esta ubicación produjera Retroceso, y los sistemas diseñados para estos usaron ese carácter para respaldar. Dado que el código de eliminación a menudo producía un efecto de retroceso, esto también obligó a los fabricantes de terminales a hacer cualquier Deletetecla produce algo que no sea el carácter Eliminar.
  7. ^ El carácter de tabulación también se puede ingresar presionando laTab ↹tecla en la mayoría de los sistemas.
  8. ^ Elcarácter de retorno de carro también se puede ingresar presionando latecla↵ EnteroReturnen la mayoría de los sistemas.
  9. ^ La\e secuencia de escape no forma parte de ISO C ni de muchas otras especificaciones de idioma. Sin embargo, varios compiladores lo entienden, incluido GCC .
  10. ^ El carácter Escape también se puede ingresar presionando laEsctecla en algunos sistemas.
  11. ^ ^^ significaCtrl+^(presionando "Ctrl" y lasteclas de intercalación ).
  12. ^ El carácter Eliminar a veces se puede ingresar presionando la← Backspacetecla en algunos sistemas.
  13. ^ Impresos, los caracteres son:
     ! "# $% & '() * +, -. / 0123456789:; <=>? @ ABCDEFGHIJKLMNOPQRSTUVWXYZ [\] ^ _` abcdefghijklmnopqrstuvwxyz {|} ~

Referencias

  1. ANSI (1 de diciembre de 1975). ISO-IR-006: Conjunto de caracteres gráficos ASCII (PDF) . ITSCJ / IPSJ .
  2. ^ a b "Juegos de caracteres" . Autoridad de Números Asignados de Internet (IANA) . 2007-05-14 . Consultado el 25 de agosto de 2019 .
  3. ^ a b c d e f g h i j k l m n o p q r s Mackenzie, Charles E. (1980). Juegos de caracteres codificados, historia y desarrollo (PDF) . Serie de programación de sistemas (1 ed.). Addison-Wesley Publishing Company, Inc. págs. 6, 66, 211, 215, 217, 220, 223, 228, 236–238, 243–245, 247–253, 423, 425–428, 435–439. ISBN  978-0-201-14460-4. LCCN  77-90165 . Archivado (PDF) desde el original el 26 de mayo de 2016 . Consultado el 25 de agosto de 2019 .
  4. ↑ a b Brandel, Mary (6 de julio de 1999). "1963: El debut de ASCII" . CNN . Archivado desde el original el 17 de junio de 2013 . Consultado el 14 de abril de 2008 .
  5. ^ a b c d "Código estándar americano para el intercambio de información, ASA X3.4-1963" . Asociación Estadounidense de Estándares (ASA). 1963-06-17 . Consultado el 6 de junio de 2020 .
  6. ^ a b c "Código estándar de Estados Unidos para el intercambio de información, USAS X3.4-1967". Instituto de Normas de los Estados Unidos de América (USASI). 1967-07-07. Cite journal requiere |journal=( ayuda )
  7. Jennings, Thomas Daniel (20 de abril de 2016) [1999]. "Un historial anotado de algunos códigos de caracteres o ASCII: Código estándar americano para la infiltración de información" . Investigación sensible (SR-IX) . Consultado el 8 de marzo de 2020 .
  8. ^ a b c "Estándar nacional estadounidense para sistemas de información - Juegos de caracteres codificados - Código estándar nacional estadounidense de 7 bits para el intercambio de información (ASCII de 7 bits), ANSI X3.4-1986". Instituto Nacional Estadounidense de Estándares (ANSI). 1986-03-26. Cite journal requiere |journal=( ayuda )
  9. Vint Cerf (16 de octubre de 1969). Formato ASCII para intercambio de red . IETF . doi : 10.17487 / RFC0020 . RFC 20 .
  10. Barry Leiba (12 de enero de 2015). "Clasificación correcta de RFC 20 (formato ASCII) al estándar de Internet" . IETF .
  11. ^ Shirley, R. (agosto de 2007), Glosario de seguridad de Internet, versión 2 , RFC 4949 , archivado desde el original el 13 de junio de 2016 , consultado el 13 de junio de 2016 
  12. ^ Maini, Anil Kumar (2007). Electrónica digital: principios, dispositivos y aplicaciones . John Wiley e hijos . pag. 28. ISBN 978-0-470-03214-5. Además, define códigos para 33 caracteres de control no imprimibles, en su mayoría obsoletos, que afectan la forma en que se procesa el texto.
  13. ^ Bukstein, Ed (julio de 1964). "Códigos informáticos binarios y ASCII" . Mundo de la electrónica . 72 (1): 28-29. Archivado desde el original el 3 de marzo de 2016 . Consultado el 22 de mayo de 2016 .
  14. ↑ a b c d e f Bemer, Robert William (1980). "Capítulo 1: Dentro de ASCII" (PDF) . Software de propósito general . Lo mejor de la era de la interfaz. 2 . Portland, OR, EE.UU .: dilithium Press. págs. 1-50. ISBN  978-0-918398-37-6. LCCN  79-67462 . Archivado desde el original el 27 de agosto de 2016 . Consultado el 27 de agosto de 2016 , desde:
    • Bemer, Robert William (mayo de 1978). "Dentro de ASCII - Parte I". Edad de la interfaz . 3 (5): 96–102.
    • Bemer, Robert William (junio de 1978). "Dentro de ASCII - Parte II". Edad de la interfaz . 3 (6): 64–74.
    • Bemer, Robert William (julio de 1978). "Dentro de ASCII - Parte III". Edad de la interfaz . 3 (7): 80–87.
  15. ^ Breve informe: Reunión del grupo de trabajo del CCITT sobre el nuevo alfabeto telegráfico, 13-15 de mayo de 1963.
  16. ^ Informe de ISO / TC / 97 / SC 2 - Reunión del 29 al 31 de octubre de 1963.
  17. ^ Informe sobre el grupo de tareas X3.2.4, 11 de junio de 1963, edificio del Pentágono, Washington, DC.
  18. ^ Informe de la reunión No. 8, Grupo de trabajo X3.2.4, 17 y 18 de diciembre de 1963
  19. ↑ a b c Winter, Dik T. (2010) [2003]. "Normas estadounidenses e internacionales: ASCII" . Archivado desde el original el 16 de enero de 2010.
  20. ↑ a b c d e f g Salste, Tuomas (enero de 2016). "Juegos de caracteres de 7 bits: revisiones de ASCII" . Aivosto Oy. urna: nbn: fi-fe201201011004 . Archivado desde el original el 13 de junio de 2016 . Consultado el 13 de junio de 2016 .
  21. ^ "Información". Scientific American (edición especial). 215 (3). Septiembre de 1966. JSTOR e24931041 . 
  22. Korpela, Jukka K. (14 de marzo de 2014) [7 de junio de 2006]. Explicación de Unicode: internacionalización de documentos, programas y sitios web (2ª versión de la 1ª ed.). O'Reilly Media, Inc. pág. 118. ISBN 978-0-596-10121-3.
  23. ^ ANSI INCITS 4-1986 (R2007): Estándar nacional estadounidense para sistemas de información - Juegos de caracteres codificados - Código estándar nacional estadounidense de 7 bits para el intercambio de información (ASCII de 7 bits) (PDF) , 2007 [1986], archivado (PDF) del original el 7 de febrero de 2014 , consultado el 12 de junio de 2016
  24. ^ "INCITS 4-1986 [R2012]: sistemas de información - juegos de caracteres codificados - código estándar nacional estadounidense de 7 bits para el intercambio de información (ASCII de 7 bits)" . 2012-06-15. Archivado desde el original el 28 de febrero de 2020 . Consultado el 28 de febrero de 2020 .
  25. ^ "INCITS 4-1986 [R2017]: sistemas de información - juegos de caracteres codificados - código estándar nacional estadounidense de 7 bits para el intercambio de información (ASCII de 7 bits)" . 2017-11-02 [2017-06-09]. Archivado desde el original el 28 de febrero de 2020 . Consultado el 28 de febrero de 2020 .
  26. ^ Secuenciación de bits del código estándar nacional estadounidense para el intercambio de información en la transmisión de datos serie por bit , Instituto Nacional de Estándares Estadounidenses (ANSI), 1966, X3.15-1966
  27. ^ "BruXy: comunicación por teletipo de radio" . 2005-10-10. Archivado desde el original el 12 de abril de 2016 . Consultado el 9 de mayo de 2016 . El código transmitido utiliza el Alfabeto Telegráfico Internacional No. 2 (ITA-2) que fue introducido por el CCITT en 1924.
  28. ↑ a b Smith, Gil (2001). "Códigos de comunicación de teletipo" (PDF) . Baudot.net. Archivado (PDF) desde el original el 20 de agosto de 2008 . Consultado el 11 de julio de 2008 .
  29. ^ Sawyer, Stanley A .; Krantz, Steven George (1995). Un manual de TeX para científicos . CRC Press, LLC . pag. 13. bibcode : 1995tps..book ..... S . ISBN 978-0-8493-7159-2. Archivado desde el original el 22 de diciembre de 2016 . Consultado el 29 de octubre de 2016 .
  30. ^ Savard, John JG "Teclados de computadora" . Archivado desde el original el 24 de septiembre de 2014 . Consultado el 24 de agosto de 2014 .
  31. ^ "Definición ASCIIbetical" . Revista de PC . Archivado desde el original el 9 de marzo de 2013 . Consultado el 14 de abril de 2008 .
  32. ^ Resnick, P. (abril de 2001), Internet Message Format , RFC 2822 , archivado desde el original el 13 de junio de 2016 , consultado el 13 de junio de 2016  (NB. NO-WS-CTL.)
  33. ^ McConnell, Robert; Haynes, James; Warren, Richard. "Comprensión de los códigos ASCII" . Archivado desde el original el 27 de febrero de 2014 . Consultado el 11 de mayo de 2014 .
  34. Barry Margolin (29 de mayo de 2014). "Re: historial del editor y procesador de texto (antes: Re: RTF para emacs)" . help-gnu-emacs (lista de correo). Archivado desde el original el 14 de julio de 2014 . Consultado el 11 de julio de 2014 .
  35. ^ a b "Manual del sistema de multiprogramación PDP-6" (PDF) . Corporación de Equipos Digitales (DEC). 1965. pág. 43. Archivado (PDF) desde el original el 14 de julio de 2014 . Consultado el 10 de julio de 2014 .
  36. ^ a b "Manual de referencia de PDP-10, libro 3, comunicación con el monitor" (PDF) . Corporación de Equipos Digitales (DEC). 1969. p. 5-5. Archivado (PDF) desde el original el 15 de noviembre de 2011 . Consultado el 10 de julio de 2014 .
  37. ^ "Ayuda - Manual de GNU Emacs" . Archivado desde el original el 11 de julio de 2018 . Consultado el 11 de julio de 2018 .
  38. Tim Paterson (8 de agosto de 2007). "¿Es DOS una estafa de CP / M?" . DosMan Drivel . Archivado desde el original el 20 de abril de 2018 . Consultado el 19 de abril de 2018 .
  39. ^ Ossanna, JF ; Saltzer, JH (17-19 de noviembre de 1970). "Problemas técnicos y de ingeniería humana en la conexión de terminales a un sistema de tiempo compartido" (PDF) . Actas de la Conferencia de Computación Conjunta de Otoño del 17 al 19 de noviembre de 1970 (FJCC) . pag. 357: AFIPS Presione. págs. 355–362. Archivado (PDF) desde el original el 19 de agosto de 2012 . Consultado el 29 de enero de 2013 . Usar una función de "nueva línea" (combinación de retorno de carro y avance de línea) es más simple tanto para el hombre como para la máquina que requerir ambas funciones para comenzar una nueva línea; la Norma Nacional Estadounidense X3.4-1968 permite que el código de avance de línea lleve el significado de nueva línea.Mantenimiento de CS1: ubicación ( enlace )
  40. ^ O'Sullivan, T. (19 de mayo de 1971), Protocolo TELNET , Grupo de trabajo de ingeniería de Internet (IETF), págs. 4–5, RFC 158 , archivado desde el original el 13 de junio de 2016 , consultado el 1 de junio de 2013 -28 
  41. ^ Neigus, Nancy J. (08/12/1973), File Transfer Protocol , Internet Engineering Task Force (IETF), RFC 542 , archivado desde el original, el 13/06/2016 , recuperado 01/28/2013 
  42. ^ Postel, Jon (junio de 1980), File Transfer Protocol , Internet Engineering Task Force (IETF), RFC 765 , archivado desde el original, el 13/06/2016 , recuperado 01/28/2013 
  43. ^ "Plan de traducción EOL para Mercurial" . Mercurial. Archivado desde el original el 16 de junio de 2016 . Consultado el 24 de junio de 2017 .
  44. ^ Bernstein, Daniel J. "LF desnudos en SMTP" . Archivado desde el original el 29 de octubre de 2011 . Consultado el 28 de enero de 2013 .
  45. ^ Guía de interfaz CP / M 1.4 (PDF) . Investigación digital . 1978. p. 10. Archivado (PDF) desde el original el 29 de mayo de 2019 . Consultado el 7 de octubre de 2017 .
  46. ^ Cerf, Vinton Gray (1969-10-16), formato ASCII para Network Interchange , Network Working Group, RFC 20 , archivado desde el original el 13 de junio de 2016 , consultado el 13 de junio de 2016 (NB. Redacción casi idéntica a USAS X3.4-1968 excepto por la introducción).
  47. Haynes, Jim (13 de enero de 2015). "De primera mano: Chad es nuestro producto más importante: la memoria de un ingeniero de Teletype Corporation" . Wiki de Historia de la Ingeniería y la Tecnología (ETHW). Archivado desde el original el 31 de octubre de 2016 . Consultado el 31 de octubre de 2016 . Hubo el cambio de ASCII de 1961 a ASCII de 1968. Algunos lenguajes informáticos utilizan caracteres en ASCII de 1961, como la flecha hacia arriba y la flecha hacia la izquierda. Estos caracteres desaparecieron del ASCII de 1968. Trabajamos con Fred Mocking, que ahora estaba en Ventas en Teletype , en un cilindro tipo que comprometería los caracteres cambiantes para que los significados de 1961 ASCII no se perdieran por completo. El carácter de subrayado se hizo más bien en forma de cuña para que también pudiera servir como una flecha hacia la izquierda.
  48. ^ Bemer, Robert William . "Bemer cumple con Europa (estándares informáticos) - viñetas de historia informática" . Trailing-edge.com. Archivado desde el original el 17 de octubre de 2013 . Consultado el 14 de abril de 2008 .(NB. Bemer trabajaba en IBM en ese momento).
  49. ^ "Robert William Bemer: biografía" . 2013-03-09. Archivado desde el original el 16 de junio de 2016.
  50. Johnson, Lyndon Baines (11 de marzo de 1968). "Memorando que aprueba la adopción por el gobierno federal de un código estándar para el intercambio de información" . El Proyecto de la Presidencia Estadounidense. Archivado desde el original el 14 de septiembre de 2007 . Consultado el 14 de abril de 2008 .
  51. Richard S. Shuford (20 de diciembre de 1996). "Re: ¿Historia temprana de ASCII?" . Grupo de noticiasalt.folklore.computers . Usenet: Pine.SUN.3.91.961220100220.13180C-100000@duncan.cs.utk.edu . 
  52. ^ Folts, Harold C .; Karp, Harry, eds. (1 de febrero de 1982). Compilación de estándares de comunicación de datos (2ª edición revisada). McGraw-Hill Inc. ISBN  978-0-07-021457-6.
  53. Dubost, Karl (6 de mayo de 2008). "Crecimiento de UTF-8 en la Web" . Blog del W3C . Consorcio World Wide Web . Archivado desde el original el 16 de junio de 2016 . Consultado el 15 de agosto de 2010 .
  54. ↑ a b Davis, Mark (5 de mayo de 2008). "Pasando a Unicode 5.1" . Blog oficial de Google . Archivado desde el original el 16 de junio de 2016 . Consultado el 15 de agosto de 2010 .
  55. Davis, Mark (28 de enero de 2010). "Unicode acercándose al 50% de la web" . Blog oficial de Google . Archivado desde el original el 16 de junio de 2016 . Consultado el 15 de agosto de 2010 .
  56. ^ "Criterios específicos", adjunto al memorando de RW Reach, "Reunión X3-2 - 14 y 15 de septiembre", 18 de septiembre de 1961
  57. ^ Maréchal, R. (22 de diciembre de 1967), ISO / TC 97 - Computadoras y procesamiento de información: Aceptación del proyecto de Recomendación de ISO No. 1052
  58. The Unicode Consortium (27 de octubre de 2006). "Capítulo 13: Áreas especiales y caracteres de formato" (PDF) . En Allen, Julie D. (ed.). El estándar Unicode, versión 5.0 . Upper Saddle River, Nueva Jersey, EE. UU .: Addison-Wesley Professional . pag. 314. ISBN  978-0-321-48091-0. Consultado el 13 de marzo de 2015 .
  59. ^ "utf-8 (7) - página de manual de Linux" . Man7.org. 2014-02-26. Archivado desde el original el 22 de abril de 2014 . Consultado el 21 de abril de 2014 .

Otras lecturas

  • Bemer, Robert William (1960). "Una propuesta para la compatibilidad de códigos de caracteres". Comunicaciones de la ACM . 3 (2): 71–72. doi : 10.1145 / 366959.366961 . S2CID  9591147 .
  • Bemer, Robert William (23 de mayo de 2003). "La Babel de códigos antes de ASCII: la encuesta de 1960 de conjuntos de caracteres codificados: las razones de ASCII" . Archivado desde el original el 17 de octubre de 2013 . Consultado el 9 de mayo de 2016 , desde:
    • Bemer, Robert William (diciembre de 1960). "Estudio de la representación de caracteres codificados". Comunicaciones de la ACM . 3 (12): 639–641. doi : 10.1145 / 367487.367493 . S2CID  21403172 .
    • Smith, HJ; Williams, FA (diciembre de 1960). "Encuesta de códigos de tarjetas perforadas" . Comunicaciones de la ACM . 3 (12): 642. doi : 10.1145 / 367487.367491 .
  • Código estándar nacional estadounidense para el intercambio de información . Instituto Nacional Estadounidense de Estándares . 1977.
  • Robinson, GS; Cargill, C. (1996). "Historia e impacto de los estándares informáticos". Computadora . 29 (10): 79–85. doi : 10.1109 / 2.539725 .
  • Mullendore, Ralph Elvin (1964) [1963]. Ptak, John F. (ed.). "Sobre el desarrollo temprano de ASCII - La historia de ASCII" . JF Ptak Science Books (publicado en marzo de 2012). Archivado desde el original el 26 de mayo de 2016 . Consultado el 26 de mayo de 2016 .

enlaces externos

  • "Controles C0 y latín básico - Rango: 0000–007F" (PDF) . El estándar Unicode 8.0 . Unicode, Inc. 2015 [1991]. Archivado (PDF) desde el original el 26 de mayo de 2016 . Consultado el 26 de mayo de 2016 .
  • Fischer, Eric. "La evolución de los códigos de caracteres, 1874-1968". CiteSeerX  10.1.1.96.678 . Cite journal requiere |journal=( ayuda ) [1]