Por que o caractere circunflexo / circunflexo é usado como um símbolo para Ctrl?

17

Comecei a usar o console do Linux há muito tempo, mas nunca me questionei sobre o caractere de circunflexo ( ^ ). Gostaria de perguntar por que é usado como substituto da palavra Ctrl .

Pensei nisso outro dia enquanto usava o nano e também procurei se havia algumas respostas na internet, mas o que eu encontrei foram apenas perguntas sobre "o que é" e "o que representa".

Existem algumas razões históricas? Ou vem de alguma convenção estranha?

    
por Giacomo Cerquone 23.02.2016 / 16:21

1 resposta

10

O circunflexo ( ^ ) foi igualado ao caractere de seta para cima em teleimpressores. Até o momento SunOS e assim por diante veio ao redor, esta parte foi mais de 10 anos no passado. O mesmo caractere (substituição) foi usado em expressões matemáticas, por exemplo, ^ para powers (onde alguns outros podem usar ** ). Também foi usado em Pascal para indicar ponteiros.

Usado para indicar caracteres de controle, isso data (pelo menos) antes de 1980. Você pode encontrá-lo usado na documentação do DEC, por exemplo (ele certamente estava em uso em meados da década de 1970, quando usei teco. O Manual de utilidades de 1973 (página 927) mostra um controle C por exemplo.

Procurando por uma fonte adequada, eu acho códigos de comunicação Teletypewriter por Gil Smith, que diz o suficiente para colocar isso no final dos anos 1960 (demonstrando que a origem também é pré-Unix):

ASCII-63 was mostly identical to the current ASCII-67 version. The definitions of the control characters (col-1 above) varied between the two versions, as defined below. Also, in ASCII-63, the upper 32 positions (col-4) were undefined, except for three: RUB (0x7F), ACK (0x7C), and ESC (0x7E). There are inconsistent references to an ALT-MODE char (0x7D) in ASCII-63. In the 1967 version, RUB became DEL and stayed in the same position, but ACK and ESC moved into the control character area (col-1). In ASCII-67, ^ replaced the up-arrow symbol, and _ replaced the left-arrow

ASCII-63 and ASCII-67 are the common variants of ASCII, but there appear to have been some transitional versions as well: in the Teletype Model 33 manual, there are references to a 1965 version of ASCII, that had SS in place of SUB (0x1A), \ for @ (0x40), ~ for \ (0x5C), an odd character in place of | (0x7C), and | for ~ (0x7E). A Teletype code card for M33 and M35 machines indicates a 1966 version of ASCII, though the printable characters shown on the card were identical in all versions.

Isso costumava ser bem conhecido, devido aos problemas de intercâmbio de arquivos entre diferentes codificações, como ASCII e EBCDIC, onde ainda havia impressoras capazes de renderizar setas para cima assim por muito tempo após o caractere não existir mais em ASCII. / p>     

por 23.02.2016 / 22:37