Caracteres de codificação em código C ++

Tudo no computador é representado por um padrão de uns e zeros - variações de tensão que são interpretados como números. Assim, o padrão de bits 0000 0001 é o número 1 quando interpretado como um inteiro. No entanto, este mesmo padrão de bits significa algo completamente diferente quando interpretado como uma instrução pelo processador.

Por isso, deve vir como nenhuma surpresa que o computador codifica os caracteres do alfabeto, atribuindo a cada um número.

Considere o caractere 'A'. Você poderia atribuir-lhe qualquer valor que você quiser, desde que todos estamos de acordo sobre o valor. Por exemplo, você pode atribuir um valor de 1 para 'A', se você quisesse. Logicamente, você pode, em seguida, atribuir o valor 2 a 'B', 3 a 'C', e assim por diante.

Neste esquema, 'Z' iria receber o valor 26. Você pode, em seguida, começar de novo, atribuindo o valor de 27 a 'a', 28 para 'b', até 52 de 'z'. Isso ainda deixa os dígitos '0' a '9' plus todos os símbolos especiais como espaço, ponto, vírgula, barra, ponto e vírgula, e os personagens engraçadas que você vê quando você pressiona as teclas numéricas enquanto pressiona SHIFT para baixo.

Acrescente a isso o caracteres não imprimíveis, como guia e nova linha. Quando tudo estiver dito e feito, você pode codificar todo o teclado Inglês usando números entre 1 e 127.

Por volta de 1963, houve um acordo geral sobre como os caracteres devem ser codificados em Inglês. O ASCII (American Standard Codificação para Intercâmbio de Informações) codificação de caracteres mostrado na foi adotado praticamente universalmente exceto por uma empresa.

IBM publicou o seu próprio padrão em 1963 também. Os dois padrões de codificação duked-lo por cerca de dez anos, mas no início da década de 1970 - quando C e C ++ foram sendo criados - ASCII tinha praticamente ganhou a batalha. o carbonizar tipo foi criado com codificação de caracteres ASCII em mente.

O conjunto de caracteres ASCII
ValorcarbonizarValorcarbonizar
0NULO64@
1Iniciar da posição65UMA
2Início do texto66B
3Fim de texto67C
4Fim da Transmissão68D
5Inquérito69E
6Reconhecer70F
7Sino71G
8retrocesso72H
9Aba73Eu
10Nova linha74J
11Tab Vertical75K
12New Form Feed Page-76eu
13Retorno de carro77M
14deslocar fora78N
15mudança na79O
16Data Link Fuga80P
17Controle de dispositivo 181Q
18Controle de dispositivo 282R
19Controle de dispositivo 383S
20Device Control 484T
21Reconhecimento negativa85você
22Espera Synchronous86V
23Fim da Transmissão87W
24Cancelar88x
25End of Médio89Y
26Substituto90Z
27Escapar91[
28ficheiro separador92
29grupo Separator93]
30Grave Separator94^
31Unit Separator95_
32Espaço96`
33!97uma
34# 147-98b
35#99c
36$100d
37%101e
38102f
39'103g
40(104h
41)105Eu
42*106j
43+107k
44,108eu
45=109m
46.110n
47/111o
480112p
491113q
502114r
513115s
524116t
535117você
546118v
557119W
568120x
579121y
58:122z
59-123
60lt;124
62>126~
63?127DEL

A primeira coisa que você vai notar é que os primeiros 32 caracteres são o # 147 impublicável # 148- caracteres. Isso não significa que esses personagens são tão impertinente que o censor não vai permitir que eles sejam impressos - isso significa que eles não aparecem como símbolos visíveis quando impresso na impressora (ou no console, para que o assunto). Muitos destes personagens não são mais utilizados ou utilizados apenas em caminhos obscuros.

Por exemplo, o caráter 25 # 147-End of Medium # 148- provavelmente foi impresso como o último caractere antes do final de um rolo de fita magnética. Isso foi um grande negócio em 1963, mas hoje em dia. . . não tanto, por isso o uso do personagem é limitado.

Os caracteres começando com 32 são todos imprimível com a excepção do último, 127, que é o personagem Delete.

menu