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.

O conjunto de caracteres ASCII
ValorCaracteresValorCaracteres
0NULO64@
1Iniciar da posição65UMA
2Início do texto66B
3Fim de texto67C
4End of Transmission68D
5inquérito69E
6Reconhecer70F
7Sino71G
8retrocesso72H
9Aba73Eu
10Nova linha74J
11Tab Vertical75K
12New Form Feed Página-76eu
13retorno de carro77M
14deslocar fora78N
15mudança na79O
16Data Link Fuga80P
17Controlo dispositivo 181Q
18Controlo 2 Dispositivo82R
19Controlo dispositivo 383S
20Controle dispositivo 484T
21Reconhecimento negativa85você
22Ocioso Synchronous86V
23End of Transmission87W
24Cancelar88X
25End of Médio89Y
26Substituto90Z
27Escapar91[
28ficheiro separador92
29grupo Separator93]
30registro Separator94^
31Unit Separator95_
32Espaço96`
33!97uma
3498b
35#99c
36$100d
37%101e
38&102f
39&lsquo-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
61=125
62gt;126~
63?127DEL

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.


Publicações relacionadas