Vidéo: C++ Programming 2024
Tout dans l'ordinateur est représenté par un motif de uns et de zéros - des variations de tension qui sont interprétées comme des nombres. Ainsi, le motif 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 lorsqu'il est interprété comme une instruction par le processeur.
Il ne faut donc pas s'étonner que l'ordinateur code les caractères de l'alphabet en leur affectant un numéro.
Considérez le caractère 'A'. Vous pouvez lui attribuer n'importe quelle valeur tant que nous sommes tous d'accord sur la valeur. Par exemple, vous pouvez attribuer une valeur de 1 à "A", si vous le souhaitez. Logiquement, vous pouvez alors affecter la valeur 2 à "B", 3 à "C", et ainsi de suite.
Dans ce schéma, 'Z' obtiendrait la valeur 26. Vous pouvez alors recommencer en assignant la valeur 27 à 'a', 28 à 'b', jusqu'à 52 pour 'z'. Cela laisse toujours les chiffres «0» à «9» plus tous les symboles spéciaux comme l'espace, la période, la virgule, la barre oblique, le point virgule et les caractères amusants que vous voyez lorsque vous appuyez sur les touches numériques tout en maintenant la touche Maj enfoncée.
Ajoutez à cela les caractères non imprimables tels que tab et newline. Quand tout est dit et fait, vous pouvez encoder l'ensemble du clavier anglais en utilisant des chiffres entre 1 et 127.
Vers 1963, il y avait un accord général sur la façon dont les caractères devraient être encodés en anglais. L'encodage de caractères ASCII (codage standard américain pour l'échange d'informations) montré dans a été adopté à peu près universellement, sauf pour une société.
IBM a également publié sa propre norme en 1963. Les deux normes de codage ont été utilisées pendant une dizaine d'années, mais au début des années 1970 - lorsque le C et le C ++ étaient en cours de création - l'ASCII avait à peu près gagné la bataille. Le type de char a été créé avec le codage de caractères ASCII en tête.
Valeur | Caractère | Valeur | Caractère |
---|---|---|---|
0 | NULL | 64 | @ |
1 | Début de l'en-tête < 65 | A | 2 |
Début du texte | 66 | B | 3 |
Fin du texte | 67 | C | 4 |
Fin de la transmission | 68 | D | 5 |
Demande | 69 | E | 6 |
Acquittement | 70 | F | 7 |
Bell | 71 | G | 8 |
Retour arrière | 72 | H | 9 |
Onglet | 73 | I | 10 |
Newline < 74 | J | 11 | Onglet vertical |
75 | K | 12 | Nouvelle page; Avance du formulaire |
76 | L | 13 | Retour chariot |
77 | M | 14 | Décalage |
78 | N | 15 > Shift In | 79 |
O | 16 | Échappement de la liaison de données | 80 |
P | 17 | Contrôle du périphérique 1 | 81 |
Q | 18 | Contrôle de périphérique 2 | 82 |
R | 19 | Contrôle de périphérique 3 | 83 |
S | 20 | Contrôle de périphérique 4 | 84 |
T | 21 | acquittement négatif | 85 |
U | 22 | ralenti synchrone | 86 |
v | 23 | fin de transmission | 87 < W |
24 | Annuler | 88 | X |
25 | Fin du milieu | 89 | Y |
26 | Remplacer | 90 < Z | 27 |
Échap | 91 | [ | 28 |
Séparateur de fichier | 92 | 29 | Séparateur de groupe |
93 | ] < 30 | Séparateur d'enregistrement | |
94 | ^ | 31 | Séparateur d'unité |
95 | _ | 32 | Espace |
96 | '< 33 | ! | 97 |
a | 34 | " | 98 |
b | 35 | # | 99 |
c | 36 | $ > 100 | d |
37 | % | 101 | e |
38 | & | 102 | f |
39 | ' | 103 | g |
40 | ( | 104 | h |
41 | ) | 105 | i |
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 |
{ | 60 | << 124 | | |
61 | = | 125 | } |
62 >> > 126 | ~ | 63 | ? |
127 | DEL | La première chose que vous remarquerez est que les 32 premiers caractères sont les caractères "non imprimables". Cela ne veut pas dire que ces personnages sont si méchants que le censeur ne leur permet pas d'être imprimés - cela signifie qu'ils n'apparaissent pas comme des symboles visibles lorsqu'ils sont imprimés sur l'imprimante (ou sur la console, d'ailleurs). Beaucoup de ces personnages ne sont plus utilisés ou utilisés que de manière obscure. | Par exemple, le caractère 25 "End of Medium" a probablement été imprimé comme dernier caractère avant la fin d'une bobine de bande magnétique. C'était un gros problème en 1963, mais aujourd'hui … pas tellement, donc l'utilisation du personnage est limitée. |
Les caractères commençant par 32 sont tous imprimables à l'exception du dernier, 127, qui est le caractère Supprimer. |