Caractère de contrôle

point de code d’un jeu de caractères codés qui ne représente pas un symbole

Un caractère de contrôle ou caractère non imprimable, en informatique et en télécommunications, est un point de code d’un jeu de caractères codés qui ne représente pas un symbole. Ces caractères sont notamment utilisés pour la mise en page : saut de page (FF), saut de ligne (LF), retour-chariot (CR), tabulation horizontale (HT), etc.

En ASCII, ces caractères sont codés de 0 à 31 (+127) : NULL, BS, CR, LF, HT, DC1, SI, ESC (+DEL)…

Ils sont complétés par les caractères ASCII imprimables, c'est-à-dire ceux codés de 32 à 126 : espace, !, ?, ", #, 1, =, A, a, (, }, autrement dit essentiellement les caractères imprimables présents sur un clavier américain, et par des séquences d'échappement.

Les caractères de contrôle se distinguent également des caractères spéciaux. Ces derniers renvoient souvent aux caractères imprimables absents du clavier américain : signes diacritiques (accents, cédilles…), symboles, etc. : Ç, é, à, «, ß, π…

Listes des caractères de contrôle modifier

Les caractères de contrôle de l'ASCII, aussi connus sous le nom de block C0 donné par le mécanisme d'extension de l'ISO/IEC 2022.

Seq Dec Hex Acro Symb Name C Description
^@ 00 00 NUL Null \0 À l'origine utilisé pour permettre de laisser une absence (un gap) sur les bandes de papier pour modification ultérieure. Plus tard utilisé pour combler la suite d'un code nécessitant au terminal un temps de traitement (par exemple le temps d'un retour chariot ou d'un retour à la ligne sur un terminal imprimant). Il est maintenant souvent utilisé comme terminateur de chaîne de caractères, spécialement dans le langage de programmation C.
^A 01 01 SOH Start of Heading Premier caractère du header de message.
^B 02 02 STX Start of text Premier caractère de texte pouvant être utilisé pour terminer le header du message.
^C 03 03 ETX End of Text Souvent utilisé comme caractère d'arrêt (break) " pour interrompre ou terminer un programme ou un processus (par exemple sous DOS et sous Unix)
^D 04 04 EOT End of Transmission Utilisé sous Unix pour signaler une condition de fin de fichier (end-of-file) ou pour un logout d'un terminal.
^E 05 05 ENQ Enquiry Signal appelant une réponse du destinataire pour s'assurer de la continuité de sa présence.
^F 06 06 ACK Acknowledge Réponse au ENQ, ou une indication de succès de réception de message.
^G 07 07 BEL Bell \a À l'origine utilisé pour faire tinter la cloche du terminal. Ensuite utilisé pour produire un court signal sonore (beep) sur des systèmes n'étant pas dotés d'un timbre physique. Par la suite, en mode silencieux, l'avertisseur peut attirer l'attention sous forme de flash en activant et désactivant l'inverse video (visual bell / cloche visuelle), le temps d'un éclair.
^H 08 08 BS Backspace \b Déplacement du curseur d'une position vers la gauche. En entrée, cela peut détruire le caractère précédent (à gauche, le sens d'écriture étant de gauche à droite). En sortie, alors qu'avec les premières technologies, un caractère imprimé ne pouvait plus être effacé, le retour arrière (backspace) était parfois utilisé pour générer des caractères accentués en ASCII. Par exemple, à pouvait être imprimé en utilisant la séquence des trois multiplets ASCII a BS ` (0x61 0x08 0x60). Cet usage est maintenant désuet et généralement n'est plus pris en charge. Pour permettre une levée d'ambiguïté entre les deux usages potentiels du backspace, le code de contrôle caractère d'annulation (cancel character) a été intégré dans le jeu de contrôle C1.
^I 09 09 HT Character Tabulation, Horizontal Tabulation \t Positionne le caractère suivant dans une colonne de type tab stop (tabulation).
^J 10 0A LF Line Feed \n Sur les machines à écrire, imprimantes, et certains émulateurs de terminaux déplace le curseur vers le bas d'une rangée sans modifier la position colonne. Sur Unix, utilisé pour indiquer la fin de ligne ([end-of-line). Sous MS-DOS, Windows, et des standards réseaux variables, le caractère de contrôle LF est utilisé immédiatement après CR comme partie composante de la fin de ligne.
^K 11 0B VT Line Tabulation, Vertical Tabulation \v Positionnement sur la prochaine ligne de tabulation.
^L 12 0C FF Form Feed \f Sur imprimante, charge la page suivante. Traité comme espace dans beaucoup de langages de programmation, peut être également utilisé pour séparer différentes divisions du code. Sur certains émulateurs de terminal, efface l'écran.
^M 13 0D CR Carriage Return \r À l'origine utilisé pour positionner le curseur en première colonne en restant sur la même ligne. Sur Mac OS (pre-Mac OS X), ainsi que sur d'autres systèmes anciens comme l'Apple II et le Commodore 64, utilisé pour indiquer la fin de ligne. Sous MS-DOS, Windows, et des protocoles réseaux voisins, est utilisé immédiatement avant LF pour former une marque de fin de ligne. La touche [Entrée] (ou [Retour]) d'un clavier envoie cette valeur qui peut être différente suivant le logiciel impliqué.
^N 14 0E SO Shift Out Change pour un jeu de caractère alternatif.
^O 15 0F SI Shift In Retour au jeu de caractère régulier après avoir utilisé un jeu de caractères alternatifs.
^P 16 10 DLE Data Link Escape Conduit à l'interprétation des prochains octets comme données binaires plutôt que des caractères de contrôle ou graphiques. Le retour à une utilisation normale est alors dépendant de l'implémentation.
^Q 17 11 DC1 Device Control One (XON) Ces quatre codes de contrôle sont réservés pour le contrôle des périphériques (device), leur interprétation est dépendante du périphérique connecté. DC1 et DC2 portaient l'intention primaire d'indiquer l'activation d'un périphérique alors que DC3 et DC4 indiquaient la pause ou l'arrêt. La pratique actuelle a fait de DC1 et DC3 (aussi connus comme XON et XOFF respectivement et dans cette utilisation) la standard de fait pour le flow contrôle logiciel.
^R 18 12 DC2 Device Control Two
^S 19 13 DC3 Device Control Three (XOFF)
^T 20 14 DC4 Device Control Four
^U 21 15 NAK Negative Acknowledge Envoyé par une station comme réponse négative. Dans les protocoles de communication binaires et synchrones, le NAK est utilisé pour indiquer la détection d'une erreur dans le bloc de données précédemment reçu et ainsi accepter la retransmission dudit bloc. Dans les systèmes multipoint, le NAK est utilisé comme réponse not-ready à un poll.
^V 22 16 SYN Synchronous Idle Utilisé dans les systèmes à transmission synchrone pour fournir un signal à partir duquel la correction synchrone peut être établie entre le data terminal equipment, en particulier lorsqu'aucun autre caractère n'est transmis.
^W 23 17 ETB End of Transmission Block Indique la fin de la transmission du bloc de données lorsque les données sont divisées en blocs à des fins de transmission.
^X 24 18 CAN Cancel Indique une erreur ou une annulation dans les données précédentes.
^Y 25 19 EM End of medium Sur bandes papier ou magnétiques moyen d'indiquer que la fin de la partie utilisable de la bande a été atteinte.
^Z 26 1A SUB Substitute Initialement destiné à être utilisé comme caractère de contrôle de transmission pour indiquer que des caractères tronqués ou invalides ont été reçus. Il a souvent été utilisé à d'autres fins lorsque la signalisation intrabande des erreurs qu'il fournit n'est pas nécessaire, en particulier lorsque des méthodes robustes de détection et de correction des erreurs sont utilisées, ou lorsque les erreurs devraient être suffisamment rares pour rendre souhaitable l'utilisation du caractère pour d'autres fins.
^[ 27 1B ESC Escape

Dans sa conception d'origine, ce caractère permet d'introduire une séquence spéciale non normalisée par l'ASCII. Les caractères suivants ne sont donc plus de l'ASCII pur. Sur la plupart des systèmes, une touche d'échappement a été introduite pour produire ce caractère.

^\ 28 1C FS File Separator Peut être utilisé comme délimiteur pour séparer les champs d'une structure de données. Si utilisé pour marquer des niveaux hiérarchiques, le caractère US est le niveau le plus bas (dividing plain-text data items), alors que RS, GS, et FS sont d'un niveau augmentant pour des subdivisions.
^] 29 1D GS Group separator
^^ 30 1E RS Record Separator
^_ 31 1F US Unit separator
Bien que ne faisant pas techniquement partie de la plage des caractères du bloc C0, les deux caractères suivants partagent des caractéristiques des caractères de contrôle. Ils sont définis par l'ISO/IEC 2022 comme étant toujours disponibles quel que soit le jeu de caractères graphiques utilisé.

Ces deux caractères ont la particularité d'avoir tous les bits graphiques identiques, soit à zéro, soit à un.

  32 20 SP Space L'espace est un caractère graphique du point de vue de l'ASCII. Il dispose d'une représentation graphique consistant en l'absence de symbole graphique. Il cause l'avancement d'un caractère de la position active. Dans certaines applications, l'espace est le séparateur de mot de plus bas niveau.
^? 127 7F DEL Delete À l'origine conçu pour indiquer les caractères effacés sur des bandes de papier, puisque chaque caractère peut être transformé : la perforation de chacun des bits permet de les mettre tous à un. Sur les terminaux compatible VT100, ce caractère est généré par la touche étiquetée ⌫, également appelée backspace sur les claviers anglais modernes, et ne correspond pas à la touche delete des PC anglais.

Bibliographie modifier

  • Alphabet International de référence : ANCIEN ALPHABET INTERNATIONAL N° 5 ou AI5, Union international des télécommunications (lire en ligne)