ASCII |
ASCII |
---|---|
Python |
Syntaxe
ascii(object) |
Paramètres
Nom | Description |
---|---|
object | Ce paramètre permet d'indiquer l'objet à analyser |
Description
Cette fonction permet de retourner une représentation affichable d'un objet.
Algorithme
MODULE ASCII(objet) Initialiser resultat comme chaîne de caractères vide BOUCLE POUR CHAQUE caractère dans la représentation en chaîne de caractères de objet FAIRE SI caractère est un caractère ASCII (dans l'intervalle 0 à 127) ALORS Ajouter caractère à resultat SINON Échapper caractère en utilisant \x, \u, ou \U selon sa valeur Unicode Ajouter la séquence échappée à resultat FIN SI FIN BOUCLE POUR CHAQUE RETOURNE resultat |
Remarques
- Si des caractères non-ASCII sont rencontrés par la fonction, alors utilisera des échappements \x, \u ou \U.
- La fonction ascii() est une fonction intégrée à Python, donc disponible sans importation de module. Elle sert à obtenir une version affichable d'un objet, particulièrement utile lorsqu'un objet contient des caractères spéciaux ou non-ASCII. C'est une version plus restrictive que repr().
- Le paramètre object peut être de n'importe quel type : chaîne de caractères, liste, dictionnaire, nombre,... La fonction retourne une chaîne de caractères représentant l'objet avec tous les caractères non-ASCII échappés en Unicode (par exemple, é devient \xe9).
- La fonction est particulièrement utile lorsqu'on souhaite afficher ou en entreposer des données dans un environnement qui ne supporte pas bien l'UTF-8 ou les caractères spéciaux. Par exemple, pour du débogage dans des environnements limités ou lors de l'écriture dans certains fichiers texte.
- Contrairement à print() ou à str(), la fonction ascii() garantit que la sortie ne contient que des caractères ASCII (valeurs Unicode de 0 à 127). Cela permet d'éviter des erreurs d'encodage dans des contextes stricts, comme certains terminaux ou anciens systèmes.
- Par exemple, ascii("Café") retournera 'Caf\\xe9' au lieu de 'Café'. Cela permet de voir visuellement où se trouvent les caractères non-ASCII dans une chaîne, ce qui est très pratique pour nettoyer ou filtrer des données avant export ou affichage.
- Bien que la fonction soit appelée ascii(), elle ne convertit pas réellement les objets en ASCII, mais fournit plutôt une représentation compatible ASCII. L'objet d'origine reste inchangé. Ce n'est donc pas une fonction de conversion mais de représentation.
- La fonction ascii() peut aussi être utile pour analyser des structures complexes, comme des listes ou dictionnaires contenant des chaînes avec des accents ou caractères spéciaux. Elle permet de s'assurer que toute la structure est représentée en texte ASCII échappé.
- Si l'objectif est de convertir un caractère ou une lettre en son code ASCII numérique, ce n'est pas ascii() qu'il faut utiliser, mais plutôt ord(). Par exemple, ord('A') retourne 65. La fonction ascii() est souvent confondue avec des fonctions liées au codage ou aux tables ASCII, alors qu'elle joue un rôle différent.
Dernière mise à jour : Mercredi, le 14 septembre 2016