Notación de caret - Caret notation

La notación Caret es una notación para caracteres de control en ASCII . La notación se asigna ^Aal código de control 1, secuencialmente a través del alfabeto para ^Zasignarse al código de control 26 (0x1A). Para los códigos de control fuera del rango 1–26, la notación se extiende a los caracteres ASCII no alfabéticos adyacentes.

A menudo, un carácter de control se puede escribir en un teclado manteniendo presionada la tecla Ctrly escribiendo el carácter que se muestra después del símbolo de intercalación. La notación se usa a menudo para describir atajos de teclado aunque el carácter de control no se use realmente (como en "escriba ^ X para cortar el texto").

El significado o interpretación de, o la respuesta a los códigos de control individuales no está prescrito por la notación de intercalación.

Descripción

La notación consiste en un signo de intercalación ( ^ ) seguido de un solo carácter (generalmente una letra mayúscula). El carácter tiene el código ASCII igual al código de control con el bit que representa 0x40 invertido. Una mnemónica útil, esto tiene el efecto de hacer que los códigos de control 1 a través de 26 como ^ A través de ^ Z . Siete caracteres de control ASCII se asignan fuera del alfabeto en mayúsculas: 0 ( NUL ) es ^ @ , 27 ( ESC ) es ^ [ , 28 es ^ \ , 29 es ^] , 30 es ^^ , 31 es ^ _ y 127 ( DEL ) es ^? .

Algunos ejemplos son " ^ M ^ J " para el par de nueva línea de Windows CR, LF , y la descripción de la secuencia de escape ANSI para borrar la pantalla como " ^ [[3J ".

Solo el uso de caracteres en el rango de 63 a 95 (" ? @ABC ... XYZ [\] ^ _ ") está específicamente permitido en la notación, pero el uso de caracteres alfabéticos en minúscula ingresados ​​en el teclado casi siempre permitido: se tratan como equivalentes a letras mayúsculas.

La conversión es exclusiva a nivel de bits o con 0x40 (64). Esto es idéntico a agregar 64 módulo 128, o agregar 64 y enmascarar con 0x7F. Esta misma operación se realiza tanto para convertir de un código de control al carácter a imprimir después del símbolo de intercalación, como a la inversa para convertir un carácter en un código de control. Al convertir a un carácter de control, a excepción de '?', Enmascarar con 0x1F producirá el mismo resultado y también convertirá las minúsculas en el mismo carácter de control que las mayúsculas.

No existe una versión correspondiente de la notación de intercalación para códigos de control con más de 7 bits, como los caracteres de control C1 de 128-159 (0x80-0x9F). Algunos programas que producen notación de intercalación los muestran como barra invertida y octal (" \ 200 " a " \ 237 "). Consulte también la notación de barras utilizada por Acorn Computers, a continuación .

Uso en software

Muchos sistemas informáticos permiten al usuario ingresar un carácter de control manteniendo presionada Ctrly presionando la letra utilizada en la notación de intercalación. Esto es práctico, porque muchos caracteres de control (por ejemplo, EOT) no se pueden ingresar directamente desde un teclado. Aunque hay muchas formas de representar caracteres de control, esta correspondencia entre notación y escritura hace que la notación de intercalación sea adecuada para muchas aplicaciones.

Por lo general, ⇧ Shiftse evita la necesidad de mantener presionada la tecla , por ejemplo, las letras minúsculas funcionan igual que las mayúsculas. En una distribución de teclado de EE. UU. ctrl+ /Produce DEL y ctrl+ 2produce ^ @. También es común que ctrl+ spaceproduzca ^ @.

La notación Caret se usa para describir los caracteres de control en la salida de muchos programas, particularmente los controladores de terminal Unix y los visores de archivos de texto, como los comandos más y menos . Aunque el uso de códigos de control es algo estándar, algunos usos difieren de un sistema operativo a otro, o incluso de un programa a otro. El significado o interpretación real de los códigos de control individuales no está prescrito por la notación de intercalación, y aunque la especificación ASCII da nombres a los códigos de control, no prescribe cómo el software debe responder a ellos.

Notaciones alternativas

La API de procesamiento de cadenas GSTrans en los sistemas operativos para Acorn Atom y BBC Micro , y en RISC OS para Acorn Archimedes y máquinas posteriores, usa el carácter de barra vertical |en lugar del signo de intercalación. Por ejemplo, |M(pronunciado "control em", lo mismo que para la ^Mnotación) es el carácter de retorno de carro , ASCII 13. ||es el código de caracteres de barras verticales 124, |?es el carácter 127 como el anterior y |!agrega 128 al código del carácter que sigue también lo |!|?es el código de carácter 128 + 127 = 255 .

Ver también