Caractère d'échappement

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher


En l'informatique et en télécommunications, un caractère d'échappement est un caractère qui déclenche une interprétation alternative du ou des caractères suivants.

Le caractère d'échappement peut

  • retirer sa valeur spéciale à un caractère. Par exemple, la combinaison \espace dans un nom de fichier permet de traiter l'espace comme un caractère ordinaire et non comme un séparateur
  • ajouter une valeur spéciale à un caractère ordinaire. Par exemple \n signifie une nouvelle ligne

La difficulté augmente quand on veut afficher le caractère d'échappement sans qu'il ait une action particulière. Souvent, il faut l'échapper avec lui-même : \\ pour afficher \, et ainsi de suite (\\\\ pour afficher \\).

L'ensemble du caractère d'échappement et des caractères dont il modifie la signification forme une séquence d'échappement.

Les caractères d'échappement et leur signification dépendent des langages informatiques et des appareils qui les utilisent.

Fonctionnement[modifier | modifier le code]

Les caractères d'échappement font partie de la syntaxe de nombreux langages de programmation, formats de données et protocoles de communication. L'objectif d'un caractère d'échappement est de marquer le début d'une séquence de caractères (appelée séquence d'échappement), qui doivent être interprétés différemment des mêmes caractères qui ne seraient pas précédés du caractère d'échappement. Un caractère d'échappement ne peut pas avoir sa propre signification : si / est un caractère d'échappement, / ne peut signifier barre oblique. Pour représenter la signification propre du caractère d'échappement, habituellement, on double le caractère d'échappement : on représente / par //.

Caractère de contrôle[modifier | modifier le code]

En règle générale, un caractère d'échappement n'est pas un cas particulier des caractères de contrôle, ni l'inverse. Les caractères de contrôle sont non-graphiques (non imprimables) et/ou ont une signification particulière pour un périphérique de sortie (par exemple, un écran ou une imprimante). Les caractères d'échappement utilisés dans les langages de programmation (tels que la barre oblique inversée, \) sont graphiques (imprimables), donc ne sont pas des caractères de contrôler. Inversement, la plupart des caractères de contrôle ASCII (mais pas tous) ont une fonction de contrôle de périphérique, donc ne sont pas des caractères d'échappement.

Dans de nombreux langages de programmation, des caractères d'échappement servent à former des séquences d'échappement qui sont aussi des caractères de contrôle. Par exemple, le caractère de contrôle saut de ligne peut être représenté par la séquence d'échappement \n.

Exemples[modifier | modifier le code]

JavaScript[modifier | modifier le code]

JavaScript utilise la barre oblique inversée (\) comme caractère d'échappement pour représenter[1],[2] :

Notez que les séquences d'échappement \v et \0 ne sont pas autorisées dans les chaînes de JSON.

ASCII[modifier | modifier le code]

Le caractère d'échappement du code ASCII (en octal : \033, en hexadécimal : \x1B, ou ^[, en décimal : 27) est utilisé dans de nombreux périphériques de sortie pour commencer une série de caractères appelée une séquence de contrôle ou de la séquence d'échappement. Typiquement, le caractère d'échappement est envoyé en premier dans une telle séquence pour alerter le périphérique que les caractères suivants doivent être interprétés comme une séquence d'échappement plutôt que comme des caractères normaux, puis un ou plusieurs caractères suivent pour spécifier une certaine action, après quoi le périphérique revient à l'interprétation normale des caractères. Par exemple, la séquence « ^[ » suivie par les caractères imprimables « [2;10H », commande à un terminal DEC VT102 de déplacer son curseur à la 10e cellule de la 2e ligne de l'écran. Cette pratique a été standardisée dans les séquences d'échappement ANSI couvertes par la norme ANSI X3.64. Le caractère d'échappement commence également toutes les séquences de commandes dans le Hewlett Packard Printer Command Language.

La première référence à l'expression caractère d'échappement se trouve dans une publication technique d'IBM signée par Bob Bemer. Apparemment, c'est lui qui a inventé ce mécanisme au cours de son travail sur le jeu de caractères ASCII.

La touche d'échappement se trouve généralement sur les clavier informatiquesclaviers PC standards. Toutefois, elle est généralement absente des claviers des assistants personnels et des autres appareils qui ne sont pas conçus pour les communications ASCII.

Programmation et format de données[modifier | modifier le code]

De nombreux langages de programmation modernes utilisent les guillemets anglais (") comme un délimiteur pour une chaîne de caractères. Le caractère d'échappement barre oblique inversée (\) fournit généralement deux façons d'inclure des guillemets anglais dans une chaîne de caractères, soit en modifiant le sens du caractère guillemet anglais dans la chaîne (\" devient le caractère " et non le délimiteur "), ou en modifiant la signification d'une séquence de caractères égale à la valeur hexadécimale du guillemet anglais (\x22 devient ").

Source de la traduction[modifier | modifier le code]

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

  1. « JavaScript character escape sequences ¡ Mathias Bynens », Mathiasbynens.be (consulté le 30 juin 2014)
  2. « Special Characters (JavaScript) », Msdn.microsoft.com,‎ (consulté le 30 juin 2014)

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Sur les autres projets Wikimedia :