caractère d'échappement
Anglais: escape character
Un métacaractère unique, généralement un code de contrôle, qui, dans une séquence de caractères, signifie que ce qui suit prend une interprétation alternative. Le terme séquence d'échappement fait référence au caractère d'échappement et au ou aux caractères subséquents ainsi modifiés.
Caractère d'échappement: le signal qui enfreint les règles
Un caractère d'échappement est un code de contrôle unique, généralement ASCII 27 (hexadécimal 1B), qui indique à un appareil ou un analyseur récepteur de traiter le caractère ou la séquence suivante différemment de sa signification normale. Dans le contrôle matériel et la transmission de données, il fonctionne comme un interrupteur: lorsqu'il est rencontré, il suspend l'interprétation ordinaire et active un mode alternatif jusqu'à ce que la séquence d'échappement soit terminée. Ceci est essentiel dans les systèmes électriques où le même caractère peut avoir des significations différentes selon les contextes.
Dans le contrôle des terminaux et des affichages, le caractère d'échappement initie des séquences d'instructions vers les imprimantes, les moniteurs CRT et les affichages industriels. Une séquence d'échappement typique pourrait être ESC suivi d'un crochet et de codes alphanumériques, comme ESC[2J, qui efface un écran de terminal dans les systèmes conformes à la norme ANSI. Les automates programmables industriels (API) et les machines à commande numérique (CN) utilisent des caractères d'échappement pour distinguer la charge utile des données des commandes machine. Sans le caractère d'échappement, un appareil traiterait chaque octet de manière identique et ne pourrait pas exécuter d'instructions formatées.
Contextes courants et variantes
Différents protocoles emploient différents caractères d'échappement. L'ASCII 27 domine la communication terminale. Dans les équipements modem et de télécommunications, Control-S (ASCII 19) et Control-Q (ASCII 17) servent de caractères d'échappement pour le contrôle de flux. Les systèmes de téléscripteurs utilisaient historiquement différentes conventions. Certains protocoles industriels utilisent le caractère barre oblique inverse (ASCII 92) comme échappement dans les littéraux de chaîne, permettant à une chaîne entre guillemets de contenir un guillemet en le faisant précéder: \" représente un guillemet double littéral dans un texte délimité. Le choix du caractère d'échappement est défini par la norme de communication ou le langage de programmation utilisé, et non par l'appareil lui-même.
La collision et l'ambiguïté sont les principaux problèmes opérationnels. Si un caractère d'échappement apparaît dans les données plutôt que comme un marqueur d'instruction, le récepteur interprète mal ce qui suit. C'est pourquoi certains systèmes utilisent le double échappement: deux caractères d'échappement consécutifs représentent un seul caractère d'échappement littéral dans la sortie. Dans les systèmes hérités comme dans les appareils embarqués modernes, une manipulation négligente des séquences d'échappement entraîne des sorties brouillées, des commandes échouées et des interfaces bloquées. Les techniciens qui dépannent les pannes de communication constatent souvent que les caractères d'échappement sont manquants, dupliqués ou utilisent le mauvais point de code.
Le terme échappement vient de l'idée que le caractère permet à la transmission d'échapper au mode d'interprétation normal. C'est un métacaractère, ce qui signifie qu'il décrit les données plutôt qu'il ne les représente. Comprendre les séquences d'échappement est crucial pour quiconque configure des terminaux industriels, écrit des firmwares pour des contrôleurs embarqués ou débogue des liaisons de communication série où le matériel envoie des sorties formatées vers des affichages ou des systèmes de journalisation.
Sources
- Source de la définitionWiktionary