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.