Astuces sur les tables ascii - Astuces de calcul - Ascii33
La liste des caractères ASCII est divisé en quatre groupes de 32 caractères :
Les 32 premiers caractères, codes ASCII 0 à 31, forment un ensemble de caractères non imprimables appelés caractères de contrôle. Nous les appelons ainsi car ils effectuent diverses opérations de contrôle sur l'ordinateur plutôt que d'afficher des symboles. Exemples : le retour chariot (qui positionne le curseur sur le côté gauche de la ligne de caractères actuelle), le saut de ligne et l'espace arrière (qui déplace le curseur d'une position vers la gauche). Certains caractères de contrôle effectuent différentes opérations sur les périphériques de sortie. Il y a très peu de standardisation entre les périphériques de sortie. Pour savoir exactement comment un caractère de contrôle affecte un périphérique particulier, vous devrez consulter son manuel.
Le deuxième groupe de 32 codes de caractères ASCII comprend divers symboles de ponctuation, caractères spéciaux et chiffres numériques. Les caractères les plus notables de ce groupe comprennent le caractère espace (code ASCII 20 en héxa) et les chiffres numériques (codes ASCII 30..39 en héxa). Notez que les chiffres numériques diffèrent de leurs valeurs numériques uniquement dans le H.O. grignoter. En soustrayant 30 en héxa du code ASCII pour un chiffre particulier, vous pouvez obtenir l'équivalent numérique de ce chiffre.
Le troisième groupe de 32 caractères ASCII est réservé aux caractères alphabétiques majuscules. Les codes ASCII pour les caractères "A" .. "Z" se situent dans la plage 41..5A en héxa (65..90). Puisqu'il n'y a que 26 caractères alphabétiques différents, les six codes restants contiennent divers symboles spéciaux.
Le quatrième et dernier groupe de 32 codes de caractères ASCII est réservé aux symboles alphabétiques en minuscules, cinq symboles spéciaux supplémentaires et un autre caractère de contrôle (supprimer). Notez que les symboles de caractères minuscules utilisent les codes ASCII 61..7A en héxa. Si vous convertissez les codes des caractères majuscules et minuscules en binaire, vous remarquerez que les symboles majuscules diffèrent de leurs équivalents minuscules en une position d'un bit exactement. Par exemple, considérez le code de caractère pour «E» et «e» dans la figure ci-dessou
Le seul endroit où ces deux codes diffèrent est le cinquième bit. Les caractères majuscules contiennent toujours un zéro sur cinq bits; les caractères alphabétiques en minuscules contiennent toujours un sur le cinquième bit. Vous pouvez utiliser ce fait pour convertir rapidement entre les majuscules et les minuscules. Si vous avez un caractère majuscule, vous pouvez le forcer à minuscule en définissant le cinquième bit sur un. Si vous avez un caractère en minuscule et que vous souhaitez le forcer en majuscule, vous pouvez le faire en mettant le cinquième bit à zéro.
Les bits cinq et six déterminent dans lequel des quatre groupes du jeu de caractères ASCII vous vous trouvez :
Bit 6 | Bit 5 | Groupe |
---|---|---|
0 | 0 | Controle et caractère |
0 | 1 | Digitale et ponctuation |
1 | 0 | Majuscule et spéciale |
1 | 1 | Minuscule et spéciale |
Ainsi, vous pourriez, par exemple, convertir n'importe quel caractère majuscule ou minuscule (ou spécial correspondant) en son caractère de contrôle équivalent en mettant les bits cinq et six à zéro. Considérons un instant les codes ASCII des caractères numériques:
Caractère | Décimale | Héxa |
---|---|---|
0 | 48 | 30 |
1 | 49 | 31 |
2 | 50 | 32 |
3 | 51 | 33 |
4 | 52 | 34 |
5 | 53 | 35 |
6 | 54 | 36 |
7 | 55 | 37 |
8 | 56 | 38 |
9 | 57 | 39 |
Les représentations décimales de ces codes ASCII ne sont pas très éclairantes. Cependant, la représentation hexadécimale de ces codes ASCII révèle quelque chose de très important - le L.O. le quartet du code ASCII est l'équivalent binaire du nombre représenté. En retirant (c'est-à-dire en mettant à zéro) le H.O. grignoter un caractère numérique, vous pouvez convertir ce code de caractère en la représentation binaire correspondante. Inversement, vous pouvez convertir une valeur binaire dans la plage 0..9 en sa représentation de caractères ASCII en définissant simplement le H.O. grignoter à trois. Notez que vous pouvez utiliser l'opération ET logique pour forcer le H.O. bits à zéro; de même, vous pouvez utiliser l'opération OR logique pour forcer le H.O. bits à 0011 (trois).
Notez que vous ne pouvez pas convertir une chaîne de caractères numériques en leur représentation binaire équivalente en supprimant simplement le H.O. grignoter chaque chiffre de la chaîne. La conversion de 123 (31 32 33 en héxa) de cette manière donne trois octets: 010203h, pas la valeur correcte qui est 7B en héxa. La conversion d'une chaîne de chiffres en un entier nécessite plus de sophistication que cela; la conversion ci-dessus ne fonctionne que pour des chiffres uniques.
Le bit sept en ASCII standard est toujours nul. Cela signifie que le jeu de caractères ASCII ne consomme que la moitié des codes de caractères possibles dans un octet de huit bits. IBM utilise les 128 codes de caractères restants pour divers caractères spéciaux, y compris les caractères internationaux (ceux avec des accents, etc.), les symboles mathématiques et les caractères de dessin au trait. Notez que ces caractères supplémentaires sont une extension non standard du jeu de caractères ASCII. Bien sûr, le nom IBM a une influence considérable, donc presque tous les ordinateurs personnels modernes basés sur le 80x86 avec un affichage vidéo prennent en charge le jeu de caractères IBM / ASCII étendu. La plupart des imprimantes prennent également en charge le jeu de caractères IBM.