CHR |
Caractère |
---|---|
Python |
Syntaxe
chr(code) |
Paramètres
Nom | Description |
---|---|
code | Ce paramètre permet d'indiquer le code ASCII à convertir |
Description
Cette fonction permet de retourner le caractère correspondant au code ASCII spécifié.
Algorithme
MODULE CHR(code_point) SI le code_point est un entier et dans l'intervalle [0, 1114111] (code points Unicode valides) ALORS RETOURNE le caractère correspondant au code_point SINON Lever une exception TypeError ou ValueError (selon le cas) FIN SI |
Remarques
- La fonction chr() permet de convertir un entier en caractère Unicode. Contrairement à ce que dit la fiche, elle ne se limite pas uniquement au code ASCII (0 à 127), mais fonctionne avec tout code Unicode valide (de 0 à 1 114 111, soit 0x10FFFF en hexadécimal).
- En Python, chr(65) renvoie 'A', car 65 est le code Unicode (et ASCII) du caractère A. Cette fonction est donc idéale pour générer dynamiquement des lettres ou symboles, souvent utilisée avec des boucles pour construire des chaînes à partir de codes numériques.
- Si on utilise un nombre en dehors de l'intervalle Unicode autorisée (par exemple chr(2_000_000)), Python lève une erreur ValueError. Il faut donc s'assurer que le paramètre passé à chr() est bien un entier compris entre 0 et 1 114 111.
- La fonction chr() est l'inverse de ord(). Là où chr() convertit un entier en caractère, ord() fait l'inverse : il convertit un caractère en son code Unicode. Par exemple, chr(ord('z')) renverra 'z'. Ensemble, elles permettent des manipulations précises de texte.
- Même si historiquement chr() servait à manipuler des codes ASCII, en Python 3 elle fonctionne parfaitement avec des caractères internationaux, comme chr(233) retournant 'é', ou chr(9731) retournant '☃' (le bonhomme de neige !).
- La fonction est souvent utilisée en programmation pédagogique, pour enseigner les correspondances entre lettres et codes numériques, ou encore en cryptographie simple (comme le chiffrement César), où manipuler les lettres via leurs codes est fréquent.
- chr() peut aussi être utilisé pour formater des caractères spéciaux dans certains contextes, comme insérer un saut de ligne (chr(10), équivalent de \n) ou une tabulation (chr(9)). Cela permet une manipulation très bas niveau des chaînes de texte.
- Il est important de noter que chr() retourne une chaîne de longueur 1, pas un objet spécial. Donc le résultat peut être utilisé comme tout autre str en Python, avec des méthodes comme .upper(), .isalpha(),...
Exemple
Voici un exemple affichant la première et la dernière lettre de l'alphabet :
![]() |
Jusqu'à la version de Python 2 |
---|
on obtiendra le résultat suivant :
A Z
Dernière mise à jour : Mercredi, le 14 septembre 2016