Códigos de control C0 y C1 - C0 and C1 control codes

El código de control C0 y C1 o los conjuntos de caracteres de control definen códigos de control para su uso en texto por sistemas informáticos que utilizan ASCII y derivados de ASCII. Los códigos representan información adicional sobre el texto, como la posición de un cursor, una instrucción para iniciar una nueva línea o un mensaje de que se ha recibido el texto.

Los códigos C0 son del rango 00 HEX –1F HEX y el conjunto C0 predeterminado se definió originalmente en ISO 646 ( ASCII ). Los códigos C1 son del rango 80 HEX –9F HEX y el conjunto C1 predeterminado se definió originalmente en ECMA-48 (armonizado posteriormente con ISO 6429). El sistema ISO / IEC 2022 de especificar caracteres de control y gráficos permite que otros conjuntos C0 y C1 estén disponibles para aplicaciones especializadas, pero rara vez se utilizan.

Controles C0

ASCII definió 32 caracteres de control, más uno adicional necesario para el carácter DEL todo-1 (necesario para perforar todos los agujeros en una cinta de papel y borrarlo).

Esta gran cantidad de códigos era deseable en ese momento, ya que los controles de múltiples bytes requerirían la implementación de una máquina de estado en el terminal, lo cual era muy difícil con los terminales electrónicos y mecánicos contemporáneos. Desde entonces, sólo algunos de los controles originales han mantenido su uso: el rango de "espacios en blanco" de BS, TAB, LF, VT, FF y CR; el código BEL; y ESC (pero, excepto en ISO-2022-JP , casi siempre como parte de un ESC, '[' representación CSI que inicia una secuencia de escape ANSI ). Otros no se utilizan o han adquirido significados diferentes, como que NUL es el terminador de cadena C.

Algunos protocolos de transmisión en serie como ANPA-1312 , Kermit y XMODEM hacen un uso extensivo de los caracteres de control SOH, STX, ETX, EOT, ACK, NAK y SYN con fines que se aproximan a sus definiciones originales.

Códigos de control ASCII básicos

Estos son los códigos de control ASCII estándar, originalmente definidos en ANSI X3.4 . Si utiliza el mecanismo de extensión ISO / IEC 2022 , se designan como el juego de caracteres de control C0 activo con la secuencia de octetos 0x1B 0x21 0x40( ESC ! @).

Seq dic Maleficio Abreviatura Símbolo Nombre C Descripción
^@ 00 00 NUL Nulo \0 Originalmente utilizado para permitir que se dejen espacios en la cinta de papel para las ediciones. Posteriormente se utiliza para rellenar después de un código que puede llevar algún tiempo a un terminal para procesar (por ejemplo, un retorno de carro o un salto de línea en un terminal de impresión). Ahora se usa a menudo como terminador de cadenas, especialmente en el lenguaje de programación C.
^A 01 01 SOL Inicio de rumbo En la transmisión de mensajes, delimita el inicio de un encabezado de mensaje. El formato de este encabezado puede definirse mediante un protocolo aplicable, como IPTC 7901 para la transmisión de texto periodístico, y normalmente lo termina STX. En Hadoop , se utiliza a menudo como separador de campos.
^B 02 02 STX Inicio del texto Primer carácter del texto del mensaje y puede usarse para terminar el encabezado del mensaje.
^C 03 03 ETX Fin del texto En la transmisión de mensajes, delimita el final del texto principal de un mensaje. Puede ir seguido de "información posterior al texto" (es decir, un pie de página estructurado) definido por un protocolo aplicable o por cualquier texto adicional, seguido de EOT. En la entrada de teclado, a menudo se usa como un carácter de "interrupción" (Ctrl-C) para interrumpir o terminar un programa o proceso.
^D 04 04 EOT Fin de transmisión Delimita el final de un mensaje transmitido, que puede incluir un encabezado, texto del mensaje y pie de página posterior al texto, o incluso varios textos y encabezados asociados. También se puede utilizar para poner terminales en espera. A menudo se usa en Unix para indicar el final del archivo en una terminal, interpretado por el shell como el comando exito logout.
^E 05 05 ENQ Consulta Señal destinada a desencadenar una respuesta en el extremo receptor, para ver si todavía está presente.
^F 06 06 ACK Reconocer Respuesta a una ENQ, o una indicación de la recepción exitosa de un mensaje.
^G 07 07 BEL Campana , alerta \a Originalmente utilizado para hacer sonar una campana en la terminal. Posteriormente se utiliza para emitir un pitido en sistemas que no tienen timbre físico. También puede activar y desactivar rápidamente el video inverso (una campana visual).
^H 08 08 BS Retroceso \b Mueva el cursor una posición hacia la izquierda. Al ingresar, esto puede borrar el carácter a la izquierda del cursor. En la salida, donde en la tecnología informática temprana un carácter una vez impreso no se podía borrar, el retroceso se usaba a veces para generar caracteres acentuados en ASCII. Por ejemplo, àpodría producirse utilizando la secuencia de tres caracteres a BS `(o, utilizando los valores hexadecimales de los caracteres 0x61 0x08 0x60). Este uso ahora generalmente no es compatible (está prohibido, por ejemplo, en ISO / IEC 8859 ). Para proporcionar una desambiguación entre los dos usos potenciales del retroceso, el código de control de caracteres de cancelación se convirtió en parte del conjunto de control C1 estándar.
^I 09 09 HT Tabulación de caracteres, tabulación horizontal \t Situarse en la siguiente parada de tabulación de carácter .
^J 10 0A LF Linea de alimentación \n En máquinas de escribir , impresoras y algunos emuladores de terminal , mueve el cursor una fila hacia abajo sin afectar la posición de la columna. En Unix, se usa para marcar el final de la línea . En DOS , Windows y varios estándares de red, LF se usa después de CR como parte de la marca de final de línea.
^K 11 0B Vermont Tabulación de líneas, tabulación vertical \v Coloque el formulario en la siguiente línea de tabulación.
^L 12 0C FF Alimentación de formulario \f En impresoras, cargue la página siguiente. Se tratan como espacios en blanco en muchos lenguajes de programación y se pueden utilizar para separar divisiones lógicas en el código. En algunos emuladores de terminal, borra la pantalla. Todavía aparece en algunos archivos de texto sin formato comunes como un carácter de salto de página , como los RFC publicados por IETF .
^M 13 0D CR Retorno de carro \r Originalmente utilizado para mover el cursor a la columna cero mientras permanece en la misma línea. En Mac OS clásico (anterior a Mac OS X ), así como en sistemas anteriores como Apple II y Commodore 64 , se utiliza para marcar el final de la línea . En DOS , Windows y varios estándares de red, se usa antes de LF como parte de la marca de final de línea. La tecla Intro o Retorno de un teclado enviará este carácter, pero un programa de terminal puede convertirlo a una secuencia de final de línea diferente.
^N 14 0E ASI QUE Desplazar fuera Cambie a un juego de caracteres alternativo.
^O 15 0F SI Desplazar en Vuelve al juego de caracteres normal después de Shift Out.
^P dieciséis 10 DLE Escape de enlace de datos Causar que un número limitado de octetos contiguos se interpreten de alguna manera diferente, por ejemplo, como datos sin procesar (en contraposición a códigos de control o caracteres gráficos). Los detalles de esto dependen de la implementación.

Existían estándares como (el ahora retirado) ECMA-37 para aplicaciones específicas del carácter Data Link Escape para acceder a funciones adicionales de control de transmisión.

El esquema de compresión estándar para Unicode sugiere reemplazar todos los bytes del rango C0 con DLE, seguido de ese byte más 0x40, si los datos de la SCSU deben transmitirse a través de un sistema que se confundiría con la reutilización de los bytes C0 por parte de la SCSU.

^Q 17 11 DC1 Control de dispositivo uno ( XON ) Estos cuatro códigos de control están reservados para el control del dispositivo, y la interpretación depende del dispositivo al que están conectados. DC1 y DC2 estaban destinados principalmente a indicar la activación de un dispositivo, mientras que DC3 y DC4 estaban destinados principalmente a indicar pausar o apagar un dispositivo. DC1 y DC3 (conocidos también como XON y XOFF respectivamente en este uso) se originaron como las funciones de "iniciar y detener el lector de cinta de papel remoto" en las redes ASCII Telex . Este uso de la teleimpresora se convirtió en el estándar de facto para el control de flujo de software .
^R 18 12 DC2 Control de dispositivo dos
^S 19 13 DC3 Control de dispositivo tres ( XOFF )
^T 20 14 DC4 Control de dispositivo cuatro
^U 21 15 NAK Reconocimiento negativo Enviado por una estación como respuesta negativa a la estación con la que se ha establecido la conexión. En el protocolo de comunicación síncrona binaria, el NAK se usa para indicar que se detectó un error en el bloque recibido previamente y que el receptor está listo para aceptar la retransmisión de ese bloque. En los sistemas multipunto, el NAK se utiliza como la respuesta no preparada a una encuesta.
^V 22 dieciséis SYN Inactivo sincrónico Se utiliza en sistemas de transmisión síncrona para proporcionar una señal a partir de la cual se puede lograr la corrección síncrona entre equipos terminales de datos, particularmente cuando no se está transmitiendo ningún otro carácter.
^W 23 17 ETB Fin del bloque de transmisión Indica el final de un bloque de transmisión de datos cuando los datos se dividen en dichos bloques con fines de transmisión.

Si no está en uso para otro propósito, IPTC 7901 recomienda interpretar ETB como un carácter de final de párrafo.

^X 24 18 PUEDEN Cancelar Indica que los datos que lo preceden son erróneos o deben ignorarse.
^Y 25 19 EM Fin de medio Destinado como medio para indicar en papel o cintas magnéticas que se ha alcanzado el final de la parte utilizable de la cinta. También puede marcar el final de la parte utilizada del medio y no corresponde necesariamente al final físico del medio.

Si no está en uso para otro propósito, IPTC 7901 recomienda reutilizar EM como un espacio em para sangrar la primera línea de un párrafo (ver también EMSP ).

^Z 26 1A SUB Sustituir Originalmente diseñado para usarse como un carácter de control de transmisión para indicar que se habían recibido caracteres ilegibles o inválidos. A menudo se ha utilizado para otros fines cuando la señalización de errores dentro de banda que proporciona no es necesaria, especialmente cuando se utilizan métodos robustos de detección y corrección de errores, o cuando se espera que los errores sean lo suficientemente raros como para hacer que se utilice el carácter para otros fines aconsejables. En DOS , Windows , CP / M y derivados de los sistemas operativos de Digital Equipment Corporation , se usa para indicar el final del archivo, tanto al escribir en el terminal, como a veces en archivos de texto almacenados en el disco.
^[ 27 1B ESC Escapar \e La tecla Esc del teclado hará que este carácter se envíe en la mayoría de los sistemas. Puede usarse en interfaces de usuario de software para salir de una pantalla, menú o modo, o en protocolos de control de dispositivos (por ejemplo, impresoras y terminales) para indicar que lo que sigue es una secuencia de comando especial en lugar de texto normal. En los sistemas basados ​​en ISO / IEC 2022 , incluso si se utiliza otro conjunto de códigos de control C0, este octeto debe representar siempre el carácter de escape.

^\ 28 1C FS Separador de archivos Se pueden utilizar como delimitadores para marcar campos de estructuras de datos. Si se usa para niveles jerárquicos, EE. UU. Es el nivel más bajo (dividiendo elementos de datos de texto sin formato), mientras que RS, GS y FS son de nivel creciente para dividir grupos compuestos por elementos del nivel inferior.

El formato de información de Unix usa US, seguido de un formulario de alimentación opcional y un salto de línea, para marcar el comienzo de un nodo.

MARC 21 usa US como delimitador de subcampo, RS como terminador de campo y GS como terminador de registro.

En la edición actual de IPTC 7901 , si no se utilizan para otros fines, se recomienda el uso de EE. UU. Como separador de columnas en las tablas, FS como "Separador de campo central" en las tablas, y GS y RS respectivamente para marcar un espacio siguiente. o guión-menos como no rotos o blandos respectivamente (en conjuntos de caracteres que no proporcionan caracteres explícitos NBSP y SHY).

El splitlinesmétodo de cadena de Python trata FS, GS y RS, pero no US, como separadores además de los caracteres de salto de línea.

^] 29 1D GS Separador de grupos
^^ 30 1E RS Separador de registros
^_ 31 1F nosotros Separador de unidades
Aunque técnicamente no forman parte del rango de caracteres de control C0, los dos caracteres siguientes se definen en ISO / IEC 2022 como siempre disponibles independientemente de los conjuntos de caracteres de control y caracteres gráficos que se hayan registrado. Se puede pensar que tienen algunas características de los personajes de control.
  32 20 SP Espacio El espacio es un personaje gráfico. Tiene una representación visual que consiste en la ausencia de un símbolo gráfico. Hace que la posición activa avance en una posición de carácter. En algunas aplicaciones, el espacio se puede considerar un "separador de palabras" de nivel más bajo para usarse con los caracteres separadores adyacentes.
^? 127 7F DEL Borrar No es técnicamente parte del rango de caracteres de control C0, esto se usó originalmente para marcar caracteres eliminados en cinta de papel, ya que cualquier carácter podía cambiarse a todos haciendo agujeros en todas partes. En terminales compatibles con VT100 , este es el carácter generado por la tecla etiquetada ⌫, generalmente llamada retroceso en las máquinas modernas, y no corresponde a la tecla de eliminación de PC .

Nombres de número de categoría

Varios de los códigos de control ASCII básicos se clasifican en unas pocas categorías y, a veces, se les dan nombres abreviados alternativos que consisten en esa categoría y un número:

  • Controles de transmisión: TC 1 (SOH), TC 2 (STX), TC 3 (ETX), TC 4 (EOT), TC 5 (ENQ), TC 6 (ACK), TC 7 (DLE), TC 8 (NAK) , TC 9 (SYN), TC 10 (ETB).
  • Efectores de formato: FE 0 (BS), FE 1 (HT), FE 2 (LF), FE 3 (VT), FE 4 (FF), FE 5 (CR).
  • Controles del dispositivo: DC 1 , DC 2 , DC 3 , DC 4 .
  • Separadores de información: IS 1 (EE. UU.), IS 2 (RS), IS 3 (GS), IS 4 (FS).
  • Bloqueo de turnos: LS 0 (SI), LS 1 (SO).
  • Otros: NUL, BEL, CAN, EM, SUB, ESC.

ISO / IEC 2022 (ECMA-35) se refiere a los cambios de bloqueo C0 como LS0 y LS1 en entornos de 8 bits, y como SI y SO en entornos de 7 bits.

La primera edición de 1963 de ASCII clasificó DLE como un control de dispositivo, en lugar de un control de transmisión, y le dio la abreviatura DC0 ("control de dispositivo reservado para escape de enlace de datos").

Los códigos efectores de formato (FE) definen y activan el formato (como los saltos de línea ) que afectan la forma en que se presentan y representan los caracteres gráficos, en lugar de controlar otras funciones de los dispositivos de hardware o tener otros efectos secundarios. Los efectores de formato C0 están permitidos en las secuencias ISO / IEC 6429 DCS , OSC , PM y APC . Los separadores de información y los efectores de formato C0 (menos BS ) son los únicos códigos de control C0 con semántica definida por el estándar Unicode, y la interpretación del resto de los controles C0 se deja a los protocolos de nivel superior.

ISO / IEC 2022 (ECMA-35) requiere que si los conjuntos de códigos de control C0 incluyen los diez códigos de control de transmisión (TC) ASCII, deben estar codificados en sus ubicaciones ASCII. También prohíbe que esos diez controles de transmisión se incluyan en un conjunto de códigos de control C1, y prohíbe que controles de transmisión además de esos diez se incluyan en un conjunto de control C0.

Conjuntos de códigos de control C0 modificados

Aunque los conjuntos de códigos de control C0 generalmente conservan la mayoría de los códigos de control ASCII sin cambios, se registra un número que reemplaza ciertas funciones de control con alternativas. A continuación se muestra una selección de estos, excluidos los relacionados con Videotex .

Seq dic Maleficio Reemplazado En conjunto (s) de códigos Abrev Nombre Descripción
^I 09 09 HT NATS, IPTC FO Formateo Se utiliza en datos tabulares para pasar a la siguiente posición de tabulación (conservando la semántica de "Tab" a este respecto), y en formatos estándar para indicar la siguiente fase. En cambio, la especificación IPTC actual recomienda usar controles ASCII C0 regulares y usar el control de EE. UU. Como un salto de columna en las tablas.
^K 11 0B Vermont NATS, IPTC ECD Fin de instrucción Delimita el final de una instrucción tipográfica destinada al dispositivo de composición.
^L 12 0C FF NATS, IPTC SCD Inicio de instrucción Delimita el inicio de una instrucción tipográfica destinada al dispositivo de composición.
^M 13 0D CR NATS, IPTC QL Cuádruple izquierdo Termina una línea, lo que indica que debe alinearse a la izquierda. En cambio, la especificación IPTC actual recomienda usar controles ASCII C0 regulares y representar esta función con la < CR LFsecuencia.
^N 14 0E ASI QUE NATS UR Riel superior Inicia una región de texto enfatizada. Utilizado en la transmisión de textos periodísticos escandinavos a partir de 1975; Las recomendaciones de IPTC a partir de 1976 utilizaron FT2 y FT3 en su lugar (ver más abajo). En cambio, la especificación IPTC actual recomienda usar controles ASCII C0 regulares y marcar esta función con el ^carácter.
^O 15 0F SI NATS LR Riel inferior Finaliza una región de texto enfatizada. Utilizado en la transmisión de textos periodísticos escandinavos a partir de 1975; Las recomendaciones del IPTC a partir de 1976 utilizaron FT1 en su lugar (ver más abajo). En cambio, la especificación IPTC actual recomienda usar controles ASCII C0 regulares y marcar esta función con el @carácter.
^Q 17 11 DC1 IPTC FT1 Fuente uno Cambia al tipo de letra normal, es decir, desactiva la negrita o la cursiva.
^R 18 12 DC2 IPTC FT2 Fuente dos Cambia al tipo de letra cursiva.
^S 19 13 DC3 IPTC FT3 Fuente tres Cambia a negrita.
^X 24 18 PUEDEN NATS, IPTC KW Matar palabra Elimina la palabra anterior (elimina hasta el último espacio incluido, o vuelve al salto de línea anterior y lo excluye, lo que encuentre primero). Conserva la semántica "Cancelar" a este respecto, pero tiene una función más específica.
^Y 25 19 EM T.61 / T.51 , independiente SS2 Turno único dos Código de cambio sin bloqueo para G2 ; una representación C0 que permite representarlo con un byte en un entorno de 7 bits.
^\ 28 1C FS NATS, IPTC, independiente SS, SS2 Super turno o turno único dos Código de cambio sin bloqueo .
JIS C 6225 CEX Extensión de control Introduce una secuencia de control según lo especificado por el JIS C 6225 ahora retirado, designado JIS X 0207 en fuentes posteriores. Estos incluían secuencias para controlar el comportamiento del texto vertical, superíndices y subíndices, y para transmitir gráficos de caracteres personalizados .
^] 29 1D GS NATS, IPTC Control de calidad Centro cuádruple Termina una línea, lo que indica que debe estar centrada.
T.61 / T.51 SS3 Turno único tres Código de cambio sin bloqueo para G3 ; una representación C0 que permite representarlo con un byte en un entorno de 7 bits.
^^ 30 1E RS NATS, IPTC QR Cuádruple derecho Termina una línea, lo que indica que debe alinearse a la derecha.
^_ 31 1F nosotros NATS, IPTC JY Justificar Termina una línea que debe justificarse.

Otros conjuntos de códigos de control C0

El teletexto define un conjunto de códigos de control completamente diferente . En formatos donde no se requiere compatibilidad con los códigos de control C0 de ECMA-48, estos códigos de control a veces se asignan de forma transparente al rango de códigos de control Unicode C0 (U + 0000 a U + 001F).

Controles C1

Paralelamente al desarrollo de la edición de 1972 de ISO 646 , que revisó la norma para introducir el concepto de versiones nacionales del código además del ASCII originado en los Estados Unidos, también se estaba trabajando con el propósito de definir mecanismos de extensión para ASCII. aplicable a entornos de 7 y 8 bits, que se publicarían como ECMA-35 e ISO 2022 .

Estos mecanismos se diseñaron para que cualquier código de 8 bits conforme se pudiera convertir en un código de 7 bits correspondiente, y viceversa . En un entorno de 7 bits, el Shift Out ( SO control) cambiaría el significado de los 94 bytes 0x21a través 0x7E(es decir, los códigos gráficos, excluyendo el espacio) para invocar caracteres de un conjunto alternativo, y el cambio en ( SI control) haría cámbielos de nuevo. En un entorno de 8 bits, en lugar de utilizar códigos de desplazamiento, el octavo bit se estableció en un byte que hace referencia al conjunto de caracteres gráficos adicionales. Esto significó que se utilizaron bytes 0xA1hasta 0xFEpara los caracteres gráficos adicionales. Los caracteres de control C0, que no se veían afectados por el estado de desplazamiento de un código de 7 bits, debían representarse siempre en un código de 8 bits con el octavo bit sin establecer. En consecuencia, los bytes no utilizados en el rango a 0x80través 0x9Fpodrían usarse para códigos de control adicionales, que en su lugar se representarían como a 0x1B 0x40través 0x1B 0x5F(a ESC @través ESC _) en un código de 7 bits. Estos códigos de control adicionales se conocen como códigos de control C1 . Para mantener la compatibilidad con la representación de 7 bits, el comportamiento de los bytes 0xA0y 0xFFse dejó originalmente sin definir.

El primer conjunto de códigos de control C1 que se registró para su uso con ISO 2022 fue DIN 31626 , un conjunto especializado para uso bibliográfico que se registró en 1979. El conjunto de uso general ISO / IEC 6429 se registró en 1983, aunque la especificación ECMA-48 en el que se basó se publicó por primera vez en 1976.

Las ediciones posteriores de las normas alteraron las disposiciones hasta cierto punto. Por ejemplo, una nueva revisión de ECMA-35 e ISO 2022 en 1985 introdujo el concepto de un conjunto de caracteres gráficos de 96 códigos. En un código de 8 bits, esto permitió que se usara todo el rango de 0xA0a 0xFFpara caracteres gráficos. El uso de conjuntos de 96 códigos también significó que el significado de los bytes 0x20y 0x7Fen el código de 7 bits correspondiente podría diferir de "Espacio" y "Eliminar", a menos que el código estuviera en el estado Shift In. No fue posible utilizar conjuntos de 96 códigos para el conjunto G0 (Shift In).

De acuerdo con esta estructura de código ISO 2022 revisada de 8 bits, ISO 8859 define conjuntos de caracteres que se codificarán sobre 0xA0 – FF, en combinación con los caracteres gráficos ASCII sobre 0x20–7E, y reserva los bytes fuera de estos rangos para usarlos como códigos no gráficos por otras especificaciones como ISO 6429. Unicode hereda sus primeros 256 puntos de código de ISO 8859-1, por lo que también incorpora un rango reservado para un conjunto de códigos de control C1, aunque en su mayoría deja que su función sea definida por un nivel superior protocolos, con ISO / IEC 6429 sugerido como predeterminado.

Códigos de control C1 para uso general

Estos son los códigos de control extendido más comunes y se definen en ISO / IEC 6429 , ECMA -48 y JIS X 0211 (anteriormente JIS C 6323). Si utiliza el mecanismo de extensión ISO / IEC 2022 , se designan como el conjunto de caracteres de control C1 activo con la secuencia 0x1B 0x22 0x43( ESC " C). Aunque Unicode no requiere un conjunto de códigos de control C1 particular, dejando que su interpretación sea especificada por protocolos de nivel superior, y solo especifica un comportamiento para U + 0085, sugiere interpretar los códigos de control C1 como se especifica en ISO / IEC 6429 en ausencia de uso para otros fines. También se enumeran en la tabla a continuación tres códigos de control que se enumeran junto con los códigos ISO / IEC 6429 en RFC  1345 , pero que en realidad no están definidos por ISO / IEC 6429 ( PAD , HOP y SGC ).

A excepción de SS2 y SS3 en texto EUC-JP , y NEL en texto transcodificado de EBCDIC , las formas de 8 bits de estos códigos casi nunca se utilizan. CSI , DCS y OSC se utilizan para controlar terminales de texto y emuladores de terminal , pero casi siempre mediante sus representaciones de códigos de escape de 7 bits. Sus representaciones de un solo byte que cumplen con ISO / IEC 2022 no son válidas en UTF-8 , y las codificaciones UTF-8 de sus puntos de código correspondientes tienen dos bytes de longitud como sus formas de código de escape (por ejemplo, CSI en U + 009B se codifica como bytes 0xC2, 0x9B en UTF-8), por lo que no hay ninguna ventaja en usarlos en lugar de la secuencia de escape de dos bytes equivalente. Cuando estos códigos aparecen en documentos modernos, páginas web, mensajes de correo electrónico, etc., generalmente están destinados a imprimir caracteres en esa posición en una codificación patentada como Windows-1252 o Mac OS Roman que usan los códigos C1 para proporcionar caracteres gráficos adicionales.

Los nombres oficiales en inglés de algunos códigos C1 se revisaron en la edición más reciente de la norma para códigos de control en general (ISO 6429: 1992 o ECMA-48: 1991) para que fueran neutrales con respecto a los caracteres gráficos utilizados con ellos, y no asumir que, como en la escritura latina, las líneas están escritas en una página de arriba a abajo y que los caracteres están escritos en una línea de izquierda a derecha. Las abreviaturas utilizadas no se cambiaron, ya que el estándar ya había especificado que permanecerían sin cambios cuando el estándar se traduzca a otros idiomas. Cuando se ha cambiado el nombre, el nombre original del que se derivó la abreviatura también se indica entre paréntesis en las tablas siguientes.

Esc + dic Maleficio Acro Nombre Descripción
@ 128 80 ALMOHADILLA Carácter de relleno No forma parte de ISO / IEC 6429 (ECMA-48). En los primeros borradores de ISO 10646, se utilizó como parte de un mecanismo propuesto para codificar caracteres no ASCII. Este uso se eliminó en borradores posteriores. No obstante, es utilizado por la forma de longitud fija de dos bytes de uso interno del Código Unix Extendido (EUC) basado en ISO-2022 para caracteres de un solo byte de relleno a la izquierda en los conjuntos de códigos 1 y 3, mientras que NUL tiene la misma función para el código. establece 0 y 2. Esto no se hace en el formato EUC "empaquetado" habitual.
A 129 81 BRINCAR Preajuste de octeto alto No forma parte de ISO / IEC 6429 (ECMA-48). En los primeros borradores de ISO 10646, se pretendía como un medio de introducir una secuencia de caracteres de múltiples bytes compatibles con ISO 2022 con el mismo primer byte sin repetir dicho primer byte, reduciendo así la longitud; este comportamiento nunca fue parte de una implementación estándar o publicada. No obstante, su nombre se mantuvo como un nombre de punto de código estándar RFC 1345 .  
B 130 82 HPB Descanso permitido aquí Sigue un carácter gráfico donde se permite un salto de línea. Aproximadamente equivalente a un guión suave, excepto que el medio para indicar un salto de línea no es necesariamente un guión. No forma parte de la primera edición de ISO / IEC 6429. Véase también espacio de ancho cero .
C 131 83 NBH No hay descanso aquí Sigue el carácter gráfico que no debe romperse. No forma parte de la primera edición de ISO / IEC 6429. Véase también unión de palabras .
D 132 84 INDIANA Índice Mueva la posición activa una línea hacia abajo para eliminar la ambigüedad sobre el significado de LF. En desuso en 1988 y retirado en 1992 de ISO / IEC 6429 (1986 y 1991 respectivamente para ECMA-48).
mi 133 85 NEL Línea siguiente Equivalente a CR + LF. Se utiliza para marcar el final de la línea en algunos mainframes de IBM.
F 134 86 SSA Inicio del área seleccionada Utilizado por terminales orientados a bloques .
GRAMO 135 87 ESA Fin del área seleccionada
H 136 88 HTS Conjunto de tabulación de caracteres Conjunto de
tabulación horizontal
Hace que se establezca una parada de tabulación de caracteres en la posición activa.
I 137 89 HTJ Tabulación de caracteres con justificación
Tabulación horizontal con justificación
Similar a la tabulación de caracteres, excepto que en lugar de colocar espacios o líneas después de los caracteres anteriores hasta que se alcanza la siguiente tabulación, los espacios o líneas se colocan antes del campo activo de modo que el carácter gráfico anterior se coloca justo antes de la siguiente tabulación.
J 138 8A VTS Conjunto de tabulación de línea Conjunto de
tabulación vertical
Hace que se establezca una parada de tabulación de línea en la posición activa.
K 139 8B PLD Línea parcial hacia adelante
Línea parcial hacia abajo
Se utiliza para producir subíndices y superíndices en ISO / IEC 6429 , por ejemplo, en una impresora.
Se usan subíndices mientras que se usan superíndices . PLD text PLUPLU text PLD
L 140 8C PLU Línea parcial hacia atrás
parcial Line Up
METRO 141 8D Rhode Island Índice inverso de alimentación de línea
inversa
norte 142 8E SS2 Cambio único 2 El siguiente carácter invoca un carácter gráfico de los conjuntos gráficos G2 o G3, respectivamente. En sistemas que cumplen con ISO / IEC 4873 (ECMA-43), incluso si se usa un conjunto C1 diferente al predeterminado, estos dos octetos solo se pueden usar para este propósito.
O 143 8F SS3 Cambio único 3
PAG 144 90 DCS Cadena de control de dispositivo Seguido de una cadena de caracteres imprimibles (0x20 a 0x7E) y efectores de formato (0x08 a 0x0D), terminados por ST (0x9C). Esto puede ser utilizado por secuencias de control de longitud variable para terminales de texto y emuladores de terminal, como  consultas terminfo .
Q 145 91 PU1 Uso privado 1 Reservado para una función sin significado estandarizado para uso privado según sea necesario, sujeto al acuerdo previo del remitente y el destinatario de los datos.
R 146 92 PU2 Uso privado 2
S 147 93 STS Establecer estado de transmisión
T 148 94 CCH Cancelar personaje Retroceso destructivo, destinado a eliminar la ambigüedad sobre el significado de BS .
U 149 95 MW Mensaje en espera
V 150 96 SPA Inicio del área protegida Utilizado por terminales orientados a bloques .
W 151 97 EPA Fin del área protegida
X 152 98 llamada de socorro Inicio de cadena Seguida de una cadena de control terminada por ST (0x9C) que, a diferencia de las iniciadas por DCS , OSC , PM o APC , puede contener cualquier carácter excepto SOS o ST. No forma parte de la primera edición de ISO / IEC 6429.

MARC 21 usa SOS y ST en registros de formato Unicode para marcar una cadena que debe ignorarse para fines de clasificación, mientras que los registros de formato MARC-8 usan NSB y NSE para el mismo propósito.

Y 153 99 SGC Introductor de carácter gráfico único No forma parte de ISO / IEC 6429. En los primeros borradores de ISO 10646, se utilizaba para codificar un solo carácter de varios bytes sin salir del modo HOP . En borradores posteriores, esta función se eliminó; no obstante, el nombre se mantuvo como un nombre de punto de código estándar RFC  1345 .
Z 154 9A SCI Introductor de un solo carácter Debe ir seguido de un único carácter imprimible (0x20 a 0x7E) o un efector de formato (0x08 a 0x0D). La intención era proporcionar un medio por el cual se pudiera definir una función de control o un carácter gráfico que estaría disponible independientemente de qué gráficos o conjuntos de control estuvieran en uso. Las definiciones de lo que invocaría el siguiente byte nunca se implementaron en un estándar internacional. No forma parte de la primera edición de ISO / IEC 6429.
[ 155 9B CSI Introductor de secuencia de control Se utiliza para introducir secuencias de control que toman parámetros.
\ 156 9C S T Terminador de cuerdas Termina una cadena de control de longitud variable iniciada por DCS , SOS , OSC , PM o APC .
] 157 9D OSC Comando del sistema operativo Seguido de una cadena de caracteres imprimibles (0x20 a 0x7E) y efectores de formato (0x08 a 0x0D), terminados por ST (0x9C). Estos tres códigos de control fueron diseñados para permitir la señalización dentro de banda de información de protocolo, pero rara vez se usan para ese propósito.

Algunos emuladores de terminal , incluido xterm , admiten secuencias OSC para establecer el título de la ventana y reconfigurar la paleta de colores disponible. También pueden admitir la terminación de una secuencia OSC con BEL como una alternativa no estándar al ST estándar.

En ocasiones, APC se utiliza para transmitir comandos de Kermit , aunque esto puede desactivarse o filtrarse por motivos de seguridad.

^ 158 9E PM Mensaje de privacidad
_ 159 9F APC Comando del programa de aplicación

Códigos de control C1 para uso bibliográfico

El siguiente conjunto de códigos de control C1 alternativo se define para aplicaciones bibliográficas como los sistemas de bibliotecas . Se ocupa principalmente de la intercalación de cadenas y del marcado de campos bibliográficos. Ligeramente diferentes variantes se definen en la norma alemana DIN 31626 (publicado en 1978 y desde entonces retirada) y la ISO estándar ISO 6630 , el último de los cuales también ha sido adoptado en Alemania como DIN ISO 6630 . Donde estos difieren se indica en la tabla a continuación donde corresponda. MARC-8 usa la codificación de NSB y NSE de este conjunto, y agrega algunos efectores de formato adicionales en ubicaciones no utilizadas por la versión ISO; sin embargo, MARC 21 usa este conjunto de control solo en registros MARC-8, no en registros en formato Unicode.

Si utiliza el mecanismo de extensión ISO / IEC 2022 , el conjunto DIN 31626 se designa como el conjunto de caracteres de control C1 activo con la secuencia 0x1B 0x22 0x45( ESC " E), y el conjunto ISO 6630 / DIN ISO 6630 se designa con la secuencia 0x1B 0x22 0x42( ESC " B). La expansión de 1985 del conjunto ISO 6630 también se puede especificar explícitamente utilizando la secuencia 0x1B 0x26 0x40 0x1B 0x22 0x42( ESC & @ ESC " B).

Esc + dic Maleficio Acro Nombre Descripción
@…F 128… 134 80… 86 - (reservado)
GRAMO 135 87 CUS Primer plano para clasificar (DIN 31626, ISO 6630) Declara que dos secuencias de caracteres sucesivas separadas por un espacio o separador deben tratarse como una palabra para fines de clasificación.
H 136 88 NSB Comienzan los caracteres que no se ordenan (DIN 31626, ISO 6630, MARC 21) Marca el inicio de una secuencia de caracteres que se ignorarán a efectos de clasificación. MARC 21 usa este carácter en los registros MARC-8 , pero usa 0x98 ( SOS ) en los registros Unicode para el mismo propósito.
I 137 89 NSE Final de caracteres no clasificados (DIN 31626, ISO 6630, MARC 21) Marca el final de una secuencia de caracteres que debe ignorarse para fines de clasificación. MARC 21 usa este carácter en los registros MARC-8, pero usa 0x9C ( ST ) en los registros Unicode para el mismo propósito.
J 138 8A FIL Carácter de relleno (DIN 31626) Sustituye a un carácter alfanumérico obligatorio en un campo.
K 139 8B TCI Etiqueta en indicador de contexto (DIN 31626) Dentro de un campo bibliográfico, se utiliza para referirse a datos en otro campo bibliográfico por su número de etiqueta.
PLD Línea parcial hacia abajo (ISO 6630) No en la edición original de ISO 6630. En la edición de 1985 de ISO 6630, usado para Partial Line Down (ver PLD arriba).
L 140 8C ICI Número de identificación en el indicador de contexto (DIN 31626) Dentro de un campo bibliográfico, se utiliza para referirse a datos en otro registro bibliográfico por su número de identificación.
PLU Alineación parcial (ISO 6630) No en la edición original de ISO 6630. En la edición de 1985 de ISO 6630, se usa para alineación parcial (ver PLU arriba).
METRO 141 8D OSC Control de silabificación opcional (DIN 31626) Marca un límite de sílaba en una palabra larga. Véase también guión suave .
ZWJ Carpintero (MARC 21) En MARC-8, se usa para el ensamblador de ancho cero , mientras que U + 200D se usa en registros MARC en formato Unicode.
norte 142 8E SS2 Cambio único 2 (DIN 31626) Código de cambio sin bloqueo, consulte SS2 más arriba.
ZWNJ No afiliado (MARC 21) En MARC-8, se usa para el no ensamblador de ancho cero , mientras que U + 200C se usa en registros MARC en formato Unicode.
O 143 8F SS3 Cambio único 3 (DIN 31626) Código de cambio sin bloqueo, consulte SS3 más arriba.
PAG 144 90 - (reservado)
Q 145 91 EAB Comienzo de la anotación incrustada (DIN 31626, ISO 6630) Marca el inicio de una anotación de longitud variable que está incrustada dentro de un campo bibliográfico, en lugar de estar separada mediante la designación de contenido.
R 146 92 EAE Fin de anotación incrustada (DIN 31626, ISO 6630) Marca el final de una anotación incrustada de longitud variable.
S 147 93 ES B Inicio de la especificación del artículo (DIN 31626) Marca el comienzo de una cadena de información específica de alguna descripción, que no sea una palabra clave o una cadena de permutación.
T 148 94 ISE Final de la especificación del artículo (DIN 31626) Marca el final de una cadena de información específica.
U 149 95 HERMANO Ordenación de la interpolación al comienzo (ISO 6630) Marca el comienzo de una secuencia de caracteres que se utilizan únicamente con fines de clasificación.
V 150 96 SIE Ordenar el final de la interpolación (ISO 6630) Marca el final de una secuencia de caracteres utilizados únicamente con fines de clasificación.
W 151 97 SSB Valor de clasificación secundario al comienzo (ISO 6630) Marca el comienzo de una cadena con un valor de colación subordinado.
X 152 98 SSE Final del valor de clasificación secundario (ISO 6630) Marca el final de una cadena con un valor de colación subordinado.
Y 153 99 C ª Indicador de carácter no estándar (DIN 31626) Identifica un carácter no estándar siguiente.
Z 154 9A - (reservado)
[ 155 9B - (reservado)
\ 156 9C KWB Inicio de palabra clave (DIN 31626, ISO 6630) Marca el inicio de una palabra clave dentro de un campo bibliográfico.
] 157 9D KWE Fin de palabra clave (DIN 31626, ISO 6630) Marca el final de una palabra clave dentro de un campo bibliográfico.
^ 158 9E PSB Comienzo de la cadena de permutación (DIN 31626, ISO 6630) Marca el inicio de una cadena que se permuta al frente del elemento cuando se generan referencias o índices . Terminado por PSE o al final del elemento.
_ 159 9F PSE Final de cadena de permutación (DIN 31626, ISO 6630) Marca el extremo de una cuerda que se permuta al frente del elemento.

Otros conjuntos de códigos de control C1

EBCDIC define 16 códigos de control adicionales, además de los presentes en ASCII. Cuando se asignan a Unicode o ISO 8859 , estos códigos se asignan a los caracteres de control C1 de la manera especificada por la Arquitectura de representación de datos de caracteres (CDRA) de IBM.

Aunque el mapeo predeterminado del control New Line (NL) corresponde al NEL ISO / IEC 6429 (0x85; aunque su mapeo a veces se intercambia con LF, siguiendo la convención de finalización de línea de UNIX), el resto de los códigos de control no corresponden a ISO / IEC 6429. Por ejemplo, el SPS de control EBCDIC (0x09, asignado a 0x8D) y el PLU de control ECMA-48 (0x8C) se utilizan para comenzar un superíndice o finalizar un subíndice, pero no se asignan entre sí. Por lo tanto, se puede considerar que EBCDIC con mapa ASCII extendido tiene su propio conjunto C1, aunque no está registrado en el registro ISO-IR para su uso con ISO / IEC 2022 .

Varios conjuntos de códigos de control C1 especializados están registrados para su uso por varios formatos videotex .

Unicode

Unicode reserva 65 puntos de código en la categoría general "Cc" (Control) para compatibilidad con ISO / IEC 2022 . Los códigos de control en esta categoría cubren U + 0000 — U + 001F (controles C0), U + 007F (borrar) y U + 0080 — U + 009F (controles C1). Unicode solo especifica la semántica para U + 0009 — U + 000D, U + 001C — U + 001F y U + 0085. El resto de los códigos de control son transparentes para Unicode y sus significados se dejan a los protocolos de nivel superior.

Unicode no tiene puntos de código de categoría "Cc" asignados distintos de los C0 y C1. Sin embargo, incluye caracteres efectores de formato adicionales además de los de los conjuntos de control C0 y C1, como marcas, incrustaciones, aislamientos y estallidos para formateo bidireccional explícito, y el ensamblador y no ensamblador de ancho cero para controlar el uso de ligaduras. Estos reciben la categoría general "Cf" (Formato) en lugar de "Cc".

Ver también

Notas al pie

Referencias