Caractère de contrôle

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, etc.), symboles : Ç, é, à, «, ß, πetc.

Listes des caractères de contrôle

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

Décimal Hexa­décimal Notation caret Séquence C/C++ Acro­nyme Sym­bole Nom(s) anglais Traduction[1] Description
0 00 ^@ \0 NUL NULL NUL À l′origine utilisé pour permettre de laisser une absence (un gap) sur les bandes de papier pour modification ultérieure. Plus tard utilisé comme caractère de bourrage pour combler la suite d′un code nécessitant au terminal un temps de traitement (par exemple le temps d′un retour chariot, d′un retour à la ligne ou d′un saut de page sur un terminal imprimant). Il est maintenant souvent utilisé comme terminateur de chaîne de caractères, notamment dans les langages de programmation C ou C++ ou dans certaines interfaces d'appel au système ou aux bibliothèques logicielles qui n′exigent pas de préciser une longueur de chaîne explicite.
1 01 ^A   SOH START OF HEADING DÉBUT D′EN-TÊTE Premier caractère du header de message.
2 02 ^B   STX START OF TEXT DÉBUT DE TEXTE Premier caractère de texte pouvant être utilisé pour terminer le header du message.
3 03 ^C   ETX END OF TEXT FIN DE TEXTE 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)
4 04 ^D   EOT END OF TRANSMISSION FIN DE TRANSMISSION Utilisé sous Unix pour signaler une condition de fin de fichier (end of file) ou pour terminer une session d′entrée sur un terminal de commande.
5 05 ^E   ENQ ENQUIRY DEMANDE Signal appelant une réponse du destinataire pour s′assurer de la continuité de sa présence.
6 06 ^F   ACK ACKNOWLEDGE ACCUSÉ DE RÉCEPTION Réponse au ENQ, ou une indication de succès de réception de message.
7 07 ^G \a BEL BELL SONNERIE À 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′inversion vidéo (visual bell : cloche visuelle), le temps d′un éclair.
8 08 ^H \b BS BACKSPACE ESPACE ARRIÈRE 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, le caractère « à » pouvait être imprimé en utilisant la séquence des trois touches a⇦BS` (générant la séquence codée 0x61 0x08 0x60 en ASCII). Cet usage du retour arrière 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 C0.
9 09 ^I \t HT CHARACTER TABULATION, HORIZONTAL TABULATION TABULATION HORIZONTALE Positionne le caractère suivant dans une colonne de type tab stop (tabulation).
10 0A ^J \n LF LINE FEED, END OF LINE, NEW LINE CHANGEMENT DE LIGNE 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.
11 0B ^K \v VT LINE TABULATION, VERTICAL TABULATION TABULATION VERTICALE Positionnement sur la prochaine ligne de tabulation.
12 0C ^L \f FF FORM FEED SAUT DE PAGE 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.
13 0D ^M \r CR CARRIAGE RETURN RETOUR CHARIOT À l′origine utilisé pour positionner le curseur en première colonne en restant sur la même ligne. Sur Mac OS Classic (avant macOS 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é.
14 0E ^N   SO SHIFT OUT HORS CODE Change pour un jeu de caractère alternatif.
15 0F ^O   SI SHIFT IN EN CODE Retour au jeu de caractère régulier après avoir utilisé un jeu de caractères alternatifs.
16 10 ^P   DLE DATA LINK ESCAPE ÉCHAPPEMENT DE TRANSMISSION 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.
17 11 ^Q   DC1 DEVICE CONTROL ONE (XON) COMMANDE DE DISPOSITIF UN 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 respectivement comme XON et XOFF dans cette utilisation) le standard de fait pour le contrôle de flux logiciel.
18 12 ^R   DC2 DEVICE CONTROL TWO COMMANDE DE DISPOSITIF DEUX
19 13 ^S   DC3 DEVICE CONTROL THREE (XOFF) COMMANDE DE DISPOSITIF TROIS
20 14 ^T   DC4 DEVICE CONTROL FOUR COMMANDE DE DISPOSITIF QUATRE
21 15 ^U   NAK NEGATIVE ACKNOWLEDGE ACCUSÉ DE RÉCEPTION NÉGATIF 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 (non prête) à une demande envoyée avec ENQ (enquire).
22 16 ^V   SYN SYNCHRONOUS IDLE SYNCHRONISATION 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.
23 17 ^W   ETB END OF TRANSMISSION BLOCK FIN DE BLOC DE TRANSMISSION Indique la fin de la transmission du bloc de données lorsque les données sont divisées en blocs à des fins de transmission.
24 18 ^X   CAN CANCEL ANNULATION Indique une erreur ou une annulation dans les données précédentes.
25 19 ^Y   EM END OF MEDIUM FIN DE SUPPORT Sur bandes papier ou magnétiques moyen d′indiquer que la fin de la partie utilisable de la bande a été atteinte.
26 1A ^Z   SUB SUBSTITUTE SUBSTITUTION 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. Utilisé sous MSDOS pour marquer la fin de fichier (end of file) texte pour ignorer tout ce qui peut suivre, ou pour terminer une saisie de texte multiligne sur une console.
27 1B ^[   ESC ESCAPE ÉCHAPPEMENT 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 SÉPARATEUR DE FICHIERS 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 SÉPARATEUR DE GROUPES
30 1E ^^   RS RECORD SEPARATOR SÉPARATEUR D′ENREGISTREMENTS
31 1F ^_   US UNIT SEPARATOR SÉPARATEUR DE SOUS-ARTICLES
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/CEI 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 ESPACE 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 SUPPRESSION À 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 était généré par la touche étiquetée , alors également appelée Backspace (et non pas la touche Delete ou Suppr sur les claviers de PC modernes).

Bibliographie

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

Références

  • Portail de l’informatique
  • Portail des télécommunications