Exercice : sur les caractères

Code ASCII

Manipuler l'encodage des caractères.

Question

Faire afficher dans Python, à l'aide du codage ASCII les deux chaines de caractères :

  • 'bonjour tout le monde !'

  • ''' programmer en

    Python'''

Question

Une fonction ASCII :

Écrire une fonction printASCII(s) qui affiche à l'écran les codes ASCII au format hexadécimal d'un chaîne de caractères. Vérifier son fonctionnement sur l'exercice précédent.

Chiffrement rot13

L'algorithme rot13 est un algorithme très simple de chiffrement qui consiste à décaler de 13 caractères chaque lettre d'un texte. Par exemple, le mot "python" est transformé en "clguba".

Question

Écrire en Python une fonction rot13(s) en supposant que la chaîne passée en argument ne contient que des caractères entre a et z (en minuscule) et éventuellement des espaces(uniquement le caractère' '). Votre fonction ne doit décaler que des lettres de l'alphabet (elle ne touche donc pas aux espaces). Elle renvoie en sortie une chaîne de caractères.

Question

En complément :

  • Réaliser la fonction de décodage

  • augmenter les caractères pris en compte, ROT47 est une variante de ROT13 qui permet de chiffrer les lettres, les chiffres, et les autres caractères spéciaux2. ROT47 se base sur le code ASCII, qui assigne à chaque symbole un nombre. Il utilise les nombres dans l'intervalle 33 à 126, correspondant respectivement au point d'exclamation (« ! ») et au symbole tilde (« ~ »). Ensuite, selon le même principe que le ROT13, il effectue une rotation de 47 lettres. Le fait d'utiliser un panel de symboles plus important que le ROT13 permet un brouillage plus efficace, même si le code reste trivial à déchiffrer.(Sources wikipédia)

  • passer en paramètre la chaîne de caractère et la valeur du décalage dans la même fonction

  • construire dans le cas précédent la fonction de décodage.