Códigos de control C0 y C1


El código de control C0 y C1 o los conjuntos de caracteres de control definen códigos de control para 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 comenzar una nueva línea o un mensaje de que se ha recibido el texto.

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

ASCII definió 32 caracteres de control, más un carácter adicional necesario para el carácter DEL, 7F HEX o 01111111 BIN (necesario para perforar todos los agujeros en una cinta de papel y borrarla).

Esta gran cantidad de códigos era deseable en ese momento, ya que los controles de varios bytes requerían la implementación de una máquina de estado en el terminal, lo que era muy difícil con los terminales mecánicos y electrónicos contemporáneos. Desde entonces, solo 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 casi siempre como parte de una representación ESC,'[' CSI que inicia una secuencia de escape ANSI ). Otros no se usan o han adquirido diferentes significados, como NUL que 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 para aproximarse a sus definiciones originales.

Estos son los códigos de control ASCII estándar, originalmente definidos en ANSI X3.4 . Si se 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 ! @). [1]