Séquence d'échappement

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
image illustrant l’informatique
Cet article est une ébauche concernant l’informatique.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

Ce modèle est-il pertinent ? Cliquez pour en voir d'autres.
La mise en forme de cet article est à améliorer (avril 2015).

La mise en forme du texte ne suit pas les recommandations de Wikipédia : il faut le « wikifier ». Découvrez comment faire.

La typographie, les liens internes ou externes, les conventions de style, la présentation des sourcesetc. sont autant de points qui peuvent ne pas convenir voire être absents. Les raisons de la pose de ce bandeau sont peut-être précisées sur la page de discussion. Si seules certaines sections de l'article sont à wikifier, pensez à les indiquer en utilisant {{section à wikifier}}.

On entend par séquence d'échappement (de l'anglais escape sequence) une séquence de quelques octets et/ou de caractères présente dans un flot de texte et jouant un rôle particulier à l'endroit où elle est présente. Elle est introduite par un code prévu à cet effet, généralement le code de contrôle 0x1B ESC (pour escape).

Histoire[modifier | modifier le code]

La notion de code d'échappement a été introduite dans le code Baudot. Anecdotiquement, si l'on considère que les - sont des 1 et les + des 0, la séquence d'échappement du code Baudot est déjà la valeur 0x1B.

Le code 8 bits du DoD inclut une fonction Special dans les mêmes dispositions dès 1961[1].

Application[modifier | modifier le code]

Cette technologie est utilisée dans différents contextes ; en particulier :

Il existe au moins 157 codage de caractères différents accessibles par séquence d'échappement[2].

En langage C et C++ les séquences ASCII d'échappement sont[3] :

  • \' apostrophe. Valeur hexadécimale: 0x27 ;
  • \" guillemet. Valeur hexadécimale : 0x22 ;
  • \? point d'interrogation . Valeur hexadécimale : 0x3f ;
  • \\ Barre oblique inversée. Valeur hexadécimale : 0x5c ;
  • \0 caractère nul. Valeur hexadécimale : 0x00 ;
  • \a Caractère d'appel audible. Valeur hexadécimale : 0x07 ;
  • \b retour arrière (backspace). Valeur hexadécimale : 0x08 ;
  • \f nouvelle page. Valeur hexadécimale : 0x0c ;
  • \n nouvelle ligne. Valeur hexadécimale : 0x0a ;
  • \r retour chariot. Valeur hexadécimale : 0x0d ;
  • \t tabulation horizontale. Valeur hexadécimale : 0x09 ;
  • \v tabulation verticale. Valeur hexadécimale : 0x0b ;
  • \nnn Valeur octale arbitraire. Valeur octale : nnn ;
  • \xnn Valeur hexadécimale arbitraire. Valeur hexadécimale : nn ;
  • \unnnn Valeur Unicode arbitraire. Peut résulter en plusieurs caractères. Identifiant Unicode : U+nnnn ;
  • \Unnnnnnnn Valeur Unicode arbitraire. Peut résulter en plusieurs caractères. Identifiant Unicode : U+nnnnnnnn.

Ces séquences sont utiles pour la manipulation de fichier et de texte dans la console de Windows, Linuxetc.

Références[modifier | modifier le code]

Annexes[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Bibliographie[modifier | modifier le code]

  • (en) Joe Smith, Summary of ANSI standards for ASCII terminals, (lire en ligne) (Synthèse des normalisations ANSI applicables aux terminaux)