Codage des caractères dans le code C ++
Tout à l'ordinateur est représenté par un motif de uns et de zéros - variations de tension qui sont interprétés comme des nombres. Ainsi, la configuration de bits 0000 0001 est le numéro 1 lorsqu'il est interprété comme un entier. Cependant, ce même motif de bits signifie quelque chose de complètement différent quand interprété comme une instruction par le processeur.
Il ne faut donc pas surprenant que l'ordinateur code les caractères de l'alphabet en attribuant chacun un nombre.
Considérons le caractère 'A'. Vous pouvez assigner la valeur que vous voulez, tant que nous sommes tous d'accord sur la valeur. Par exemple, vous pouvez assigner une valeur de 1 à 'A', si vous voulez. Logiquement, vous pourriez alors affecter la valeur 2 à 'B', 3 à «C», et ainsi de suite.
Dans ce schéma, 'Z' obtiendrait la valeur 26. Vous pourrait alors recommencer en affectant la valeur de 27 à 'a', 28 'B', jusque 52 pour 'z'. Cela laisse encore l'chiffres '0' à '9' ainsi que tous les symboles spéciaux comme l'espace, point, une virgule, barre oblique, point-virgule, et les drôles de personnages que vous voyez lorsque vous appuyez sur les touches numériques tout en maintenant la touche maj.
Ajoutez à cela les caractères non-imprimables tels que onglet et nouvelle ligne. Quand tout est dit et fait, vous pouvez encoder l'intégralité de clavier anglais en utilisant des nombres compris entre 1 et 127.
Parfois, vers 1963, il y avait un accord général sur la façon dont les caractères doivent être encodés en anglais. L'ASCII (American Standard Coding for Information Interchange) codage de caractères indiqué dans a été adopté à peu près universellement, sauf pour une seule entreprise.
IBM a publié sa propre norme en 1963 ainsi. Les deux normes de codage duked it out pour une dizaine d'années, mais par les début des années 1970 - lorsque C et C ++ ont été créés - ASCII avaient à peu près gagné la bataille. La carboniser type a été créé avec l'encodage de caractères ASCII à l'esprit.
Valeur | Char | Valeur | Char |
---|---|---|---|
0 | NUL | 64 | @ |
1 | Début de la vedette | 65 | UN |
2 | Début du texte | 66 | B |
3 | Fin de texte | 67 | C |
4 | Fin de la transmission | 68 | ré |
5 | Demande de renseignements | 69 | E |
6 | Reconnaître | 70 | F |
7 | Cloche | 71 | g |
8 | Retour arrière | 72 | H |
9 | Tab | 73 | je |
10 | Nouvelle ligne | 74 | J |
11 | Tab Vertical | 75 | K |
12 | New Form Feed Page- | 76 | L |
13 | Carriage Return | 77 | M |
14 | Maj Out | 78 | N |
15 | Maj En | 79 | O |
16 | Data Link évasion | 80 | P |
17 | Device Control 1 | 81 | Q |
18 | Device Control 2 | 82 | R |
19 | Device Control 3 | 83 | S |
20 | Device Control 4 | 84 | T |
21 | Acquittement négatif | 85 | U |
22 | Idle synchrone | 86 | V |
23 | Fin de la transmission | 87 | W |
24 | Annuler | 88 | X |
25 | Fin de la moyenne | 89 | Y |
26 | Suppléant | 90 | Z |
27 | Échapper | 91 | [ |
28 | Déposer Separator | 92 | |
29 | Groupe Séparateur | 93 | ] |
30 | Enregistrez Separator | 94 | ^ |
31 | Unité séparateur | 95 | _ |
32 | Espace | 96 | ` |
33 | ! | 97 | un |
34 | | 98 | b |
35 | # | 99 | c |
36 | $ | 100 | ré |
37 | % | 101 | e |
38 | 102 | F | |
39 | ' | 103 | g |
40 | ( | 104 | h |
41 | ) | 105 | je |
42 | * | 106 | j |
43 | + | 107 | k |
44 | , | 108 | l |
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 | u |
54 | 6 | 118 | v |
55 | 7 | 119 | w |
56 | 8 | 120 | X |
57 | 9 | 121 | y |
58 | : | 122 | z |
59 | - | 123 | |
61 | = | 125 | |
62 | > | 126 | ~ |
63 | ? | 127 | DEL |
La première chose que vous remarquerez est que les 32 premiers caractères sont le non imprimable personnages. Cela ne signifie pas que ces personnages sont si vilain que la censure ne leur permettra pas à imprimer - cela signifie qu'ils ne semblent pas symboles visibles que lorsqu'il est imprimé sur l'imprimante (ou sur la console, d'ailleurs). Beaucoup de ces caractères ne sont plus utilisés ou utilisés que dans des moyens obscurs.
Par exemple, le caractère 25 la fin du support a probablement été imprimé le dernier caractère avant la fin d'une bobine de bande magnétique. Ce fut une grosse affaire en 1963, mais aujourd'hui. . . pas tellement, l'utilisation du personnage est limité.
Les caractères commençant par 32 sont tous imprimable à l'exception de la dernière, 127, qui est le caractère Suppr.