Codificação de caracteres em código c ++
Tudo no computador é representado por um padrão de uns e zeros - variações de voltagem que são interpretados como números. Assim, o padrão de bits 0000 0001
é o número 1 quando interpretada como um número inteiro. No entanto, este mesmo padrão pouco significa algo completamente diferente quando interpretado como uma instrução pelo processador.Assim deve vir como nenhuma surpresa que o computador codifica os caracteres do alfabeto, atribuindo a cada um número.
Considere o personagem ‘A’. Você poderia atribuir-lhe qualquer valor que você quiser, desde que todos concordamos com 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çados 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 de nova linha. Quando tudo estiver dito e feito, você pode codificar todo o teclado Inglês usando números entre 1 e 127.
Video: 10. Cadenas de caracteres / C++
Por volta de 1963, houve um acordo geral sobre como os caracteres devem ser codificados em Inglês. O ASCII (American Standard Codificação Information Interchange) 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 dos anos 1970 - quando C e C ++ foram sendo criados - ASCII tinha praticamente ganhou a batalha. o Caracteres tipo foi criado com codificação de caracteres ASCII em mente.
Valor | Caracteres | Valor | Caracteres |
---|---|---|---|
0 | NULO | 64 | @ |
1 | Iniciar da posição | 65 | UMA |
2 | Início do texto | 66 | B |
3 | Fim de texto | 67 | C |
4 | End of Transmission | 68 | D |
5 | inquérito | 69 | E |
6 | Reconhecer | 70 | F |
7 | Sino | 71 | G |
8 | retrocesso | 72 | H |
9 | Aba | 73 | Eu |
10 | Nova linha | 74 | J |
11 | Tab Vertical | 75 | K |
12 | New Form Feed Página- | 76 | eu |
13 | retorno de carro | 77 | M |
14 | deslocar fora | 78 | N |
15 | mudança na | 79 | O |
16 | Data Link Fuga | 80 | P |
17 | Controlo dispositivo 1 | 81 | Q |
18 | Controlo 2 Dispositivo | 82 | R |
19 | Controlo dispositivo 3 | 83 | S |
20 | Controle dispositivo 4 | 84 | T |
21 | Reconhecimento negativa | 85 | você |
22 | Ocioso Synchronous | 86 | V |
23 | End of Transmission | 87 | W |
24 | Cancelar | 88 | X |
25 | End of Médio | 89 | Y |
26 | Substituto | 90 | Z |
27 | Escapar | 91 | [ |
28 | ficheiro separador | 92 | |
29 | grupo Separator | 93 | ] |
30 | registro Separator | 94 | ^ |
31 | Unit Separator | 95 | _ |
32 | Espaço | 96 | ` |
33 | ! | 97 | uma |
34 | “ | 98 | b |
35 | # | 99 | c |
36 | $ | 100 | d |
37 | % | 101 | e |
38 | & | 102 | f |
39 | &lsquo- | 103 | g |
40 | ( | 104 | h |
41 | ) | 105 | Eu |
42 | * | 106 | j |
43 | + | 107 | k |
44 | , | 108 | eu |
45 | = | 109 | m |
46 | . | 110 | n |
47 | / | 111 | o |
48 | 0 | 112 | p |
49 | 1 | 113 | q |
50 | 2 | 114 | r |
51 | 3 | 115 | s |
52 | 4 | 116 | t |
53 | 5 | 117 | você |
54 | 6 | 118 | v |
55 | 7 | 119 | W |
56 | 8 | 120 | X |
57 | 9 | 121 | y |
58 | : | 122 | z |
59 | - | 123 | |
61 | = | 125 | |
62 | gt; | 126 | ~ |
63 | ? | 127 | DEL |
A primeira coisa que você vai notar é que os primeiros 32 caracteres são os personagens “não imprimíveis”. 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 desses personagens não são mais utilizados ou utilizados apenas em caminhos obscuros.
Video: Como utilizar ASCII em C - Dev C++
Por exemplo, o caráter 25 “End of Medium” 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 iniciais com 32 são todos de impressão com exceção do último, 127, que é o personagem Delete.