Notação de acento circunflexo - Caret notation
A notação de acento circunflexo é uma notação para caracteres de controle em ASCII . A notação é atribuída ^A
ao código de controle 1, sequencialmente através do alfabeto, para ^Z
atribuído ao código de controle 26 (0x1A). Para os códigos de controle fora do intervalo de 1 a 26, a notação se estende aos caracteres ASCII não alfabéticos adjacentes.
Freqüentemente, um caractere de controle pode ser digitado em um teclado mantendo pressionado o Ctrle digitando o caractere mostrado após o acento circunflexo. A notação é freqüentemente usada para descrever atalhos de teclado, embora o caractere de controle não seja realmente usado (como em "digite ^ X para cortar o texto").
O significado, a interpretação ou a resposta aos códigos de controle individuais não são prescritos pela notação circunflexa.
Descrição
A notação consiste em um circunflexo ( ^ ) seguido por um único caractere (geralmente uma letra maiúscula). O caractere possui o código ASCII igual ao código de controle com o bit representando 0x40 invertido. Um acelerador útil, isto tem o efeito de tornar os códigos de controlo 1 através de 26 como ^ Um através ^ Z . Sete caracteres de controle ASCII são mapeados fora do alfabeto em maiúsculas: 0 ( NUL ) é ^ @ , 27 ( ESC ) é ^ [ , 28 é ^ \ , 29 é ^] , 30 é ^^ , 31 é ^ _ e 127 ( DEL ) é ^? .
Os exemplos são " ^ M ^ J " para o Windows CR, par de nova linha LF e descrevendo a seqüência de escape ANSI para limpar a tela como " ^ [[3J ".
Apenas o uso de caracteres no intervalo de 63-95 (" ? @ABC ... XYZ [\] ^ _ ") é especificamente permitido na notação, mas o uso de caracteres alfabéticos minúsculos inseridos no teclado é quase sempre permitido - eles são tratados como equivalentes a letras maiúsculas.
A conversão é um bit a bit exclusivo ou com 0x40 (64). Isso é idêntico a adicionar 64 módulo 128 ou adicionar 64 e mascarar com 0x7F. Essa mesma operação é feita para converter de um código de controle no caractere a ser impresso após o acento circunflexo e o inverso para converter um caractere em um código de controle. Ao converter para um caractere de controle, exceto para '?', O mascaramento com 0x1F produzirá o mesmo resultado e também tornará as minúsculas no mesmo caractere de controle das maiúsculas.
Não existe uma versão correspondente da notação circunflexa para códigos de controle com mais de 7 bits, como os caracteres de controle C1 de 128–159 (0x80–0x9F). Alguns programas que produzem notação circunflexa os mostram como barra invertida e octal (" \ 200 " a " \ 237 "). Veja também a notação de barra usada pela Acorn Computers, abaixo .
Use em software
Muitos sistemas de computador permitem que o usuário insira um caractere de controle mantendo pressionada Ctrle pressionando a letra usada na notação circunflexa. Isso é prático porque muitos caracteres de controle (por exemplo, EOT) não podem ser inseridos diretamente de um teclado. Embora haja muitas maneiras de representar caracteres de controle, essa correspondência entre notação e digitação torna a notação circunflexa adequada para muitas aplicações.
Normalmente, a necessidade de manter pressionado ⇧ Shifté evitada, por exemplo, as letras minúsculas funcionam como as maiúsculas. Em um layout de teclado dos EUA, ctrl+ /produz DEL e ctrl+ 2produz ^ @. Também é comum que ctrl+ spaceproduza ^ @.
A notação de acento circunflexo é usada para descrever caracteres de controle na saída de muitos programas, particularmente drivers de terminal Unix e visualizadores de arquivos de texto, como mais e menos comandos. Embora o uso de códigos de controle seja um tanto padrão, alguns usos diferem de sistema operacional para sistema operacional, ou mesmo de programa para programa. O significado ou interpretação real dos códigos de controle individuais não é prescrito pela notação circunflexa e, embora a especificação ASCII dê nomes aos códigos de controle, ela não prescreve como o software deve responder a eles.
Notações alternativas
A API de processamento de string GSTrans nos sistemas operacionais para Acorn Atom e BBC Micro , e no RISC OS para Acorn Archimedes e máquinas posteriores, usa o caractere de barra vertical |
no lugar do acento circunflexo. Por exemplo, |M
(pronuncia-se "control em", o mesmo que para a ^M
notação) é o caractere de retorno de carro , ASCII 13. ||
é o código de caractere de barra vertical 124, |?
é o caractere 127 como acima e |!
adiciona 128 ao código do caractere que segue isso, então |!|?
é o código de caractere 128 + 127 = 255 .
Veja também
- Caracteres de controle ASCII
- Códigos de controle C0 e C1 , que mostra a notação circunflexa para todos os códigos de controle C0, bem como DEL
- Chave de controle