# Introduction
Voici quelques petites astuces afin de manipuler plus simplement des caractères encodés en ASCII.
# Changer la casse
Cette astuce est indiquée dans le page de man(1)
ascii, mais je l’ai
découverte très récemment car je n’avais pas eu le réflexe de lire
les paragraphes se trouvant à la suite de la table ASCII sur cette
page. Afin de changer la casse d’une lettre (c’est à dire
passer de minuscule à majuscule, ou l’inverse), il suffit de changer
le 5ième bit. Celui-ci est à 1 pour les minuscules et à 0 pour les
majuscules. Donc en effectuant un XOR 32
avec une lettre on change sa
casse. C’est tout de même pratique !
'A' ^ 32 == 'a'
'a' ^ 32 == 'A'
# Manipuler les chiffres
Afin de convertir un entier entre 0 et 9 en son équivalent en
caractère ASCII ('0' à '9'), on ajoute (ou soustrait selon le
sens de la conversion) la valeur de '0'. On peut aussi remarquer
qu’entre un entier et son équivalent en ASCII seuls 2 bits changent.
Il s’agit donc de mettre les 6ième et 5ième bits à 1 (ou 0 si on
désire passer d’un caractère à un entier). Il suffit donc d’un
simple XOR 48
, comme ceci :
'9' ^ 48 == 9
Ces deux astuces sont assez basiques, mais cela peut toujours servir !