Comment créer des chaînes comportant des caractères spéciaux

2022-10-01 01:06:09  samedi  6188 mots  

Certaines chaînes contiennent des caractères spéciaux. Ils diffèrent des caractères alphanumériques et des signes de ponctuation que vous avez l’habitude d’utiliser. En fait, ils peuvent être répartis en plusieurs catégories :

  • Contrôle : Une application a besoin de pouvoir déterminer si un caractère particulier n’est pas destiné à être affiché, mais plutôt à contrôler l’affichage. Tous les déplacements, par exemple, sont basés sur la position du point d’insertion, le trait clignotant que vous voyez sur l’écran quand vous tapez du texte. Par exemple, une tabulation 制表 ne se signale par rien de visible. Pourtant, elle fait bien partie du texte. De même, vous appuyez sur la touche Entrée lorsque vous voulez passer à la ligne suivante. Là encore, ceci se traduit par l’ajout d’un code numérique à votre texte.
  • Dessin : Certains caractères ASCII permettent de réaliser des formes graphiques simples. Voyez par exemple le site https://www.asciiworld.com/.
  • Typographie : Nombre de caractères typographiques peuvent être affichés par un traitement de texte ou un éditeur évolué, comme le marqueur de fin de paragraphe, ou pied-de-mouche (¶).
  • Autre : Selon le jeu de caractères 字符集 que vous utilisez, les possibilités sont pratiquement sans fin. Vous pouvez trouver un caractère pour pratiquement tout ce dont vous pouvez avoir besoin. Tout le problème est d’indiquer à Python comment présenter ces caractères spéciaux.

Lorsque l’on travaille avec des chaînes, même simples, il est courant d’avoir à faire à des caractères de contrôle. Python fournit pour cela des séquences dites d’échappement 转义序列 qui vous permettent de définir directement de tels caractères spéciaux.

Une séquence d’échappement transforme une lettre, comme un a, en lui donnant une nouvelle signification (comme un bip sonore). La combinaison de la barre oblique inverse (\) et d’une lettre (disons un a) sert à définir une telle séquence, ou code, d’échappement, dont le Tableau donne un aperçu.

Tableau  : Python et les séquences d’échappement.

Séquence d’échappement Signification
\\ Barre oblique inverse (\)
\’ Apostrophe (’)
\” Guillemets (“)
\a Bip ASCII (BEL)
\b Retour arrière ASCII (BS)
\f Saut de page ASCII (FF)
\n Saut de ligne Linefeed (LF)
\r Retour chariot ASCII (CR)
\t Tabulation horizontale ASCII (TAB)
\uhhhh Caractère Unicode (un système de code étendu des caractères), hhhh désignant une valeur hexadécimale.
\v Tabulation verticale ASCII (VT)
\ooo Caractère ASCII, ooo désignant une valeur octale 八进制.
\xhh Caractère ASCII, hh désignant une valeur hexadécimale  十六进制.

La meilleure manière de voir comment tout cela fonctionne, c’est bien sûr d’essayer. C’est ce que proposent les étapes qui suivent. Vous pouvez également les retrouver dans le fichier téléchargeable SpecialCharacters.py.

  1. Ouvrez une fenêtre de fichier Python.
    Vous pouvez par exemple lancer Python en mode Shell, puis choisir dans le menu File la commande New File.
  2. Tapez le code suivant en appuyant sur Entrée à la fin de chaque ligne :
    print("Une partie de ce texte\r\nse trouve sur la ligne suivante.")
    print("Ceci est un A avec un accent grave : \xC0.")
    print("Ceci est un caractère dessiné : \u2562.")
    print("Et voici un retour chariot: \266.")
    print("Ceci est le signe de la division : \xF7.")
    Ce code utilise plusieurs techniques dans le même but : produire un caractère spécial. Bien entendu, vous pouvez utiliser directement des caractères de contrôle (voyez la première ligne). Mais de nombreux autres sont accessibles en spécifiant une valeur hexadécimale sur deux chiffres (lignes 2 et 5), voire sur quatre chiffres dans le système étendu dit Unicode (ligne 3). Il est également possible de faire appel à des valeurs octales (ligne 4).
  3. Choisissez la commande Run Module dans le menu Run.
    Une fenêtre Python en mode Shell va s’ouvrir. L’application affiche le texte ainsi que les caractères spéciaux voulus (voir la Figure).
    Figure : Utiliser des caractères spéciaux permet d’afficher des informations particulières, ou encore de formater la sortie.

    Python utilise un jeu de caractères standardisé, ce qui signifie que le résultat devrait être identique quelle que soit la plate-forme utilisée. Ce n’est cependant pas une certitude, et vous devriez donc tester votre application sur différents systèmes si l’emploi de caractères spéciaux y joue un rôle important. De plus, des configurations personnalisées d’ordinateur peuvent avoir une influence sur ce qui est affiché.
Commentaire