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.

Les caractères de contrôles 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ôles

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
^@0000NULNull\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.
^A0101SOHStart of Heading Premier caractère du header de message.
^B0202STXStart of text Premier caractère de texte pouvant être utilisé pour terminer le header du message.
^C0303ETXEnd 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)
^D0404EOTEnd of Transmission Utilisé sous Unix pour signaler une condition de fin de fichier (end-of-file) ou pour un logout d'un terminal.
^E0505ENQEnquiry Signal appelant une réponse du destinataire pour s'assurer de la continuité de sa présence.
^F0606ACKAcknowledge Réponse au ENQ, ou une indication de succès de réception de message.
^G0707BELBell\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.
^H0808BSBackspace\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, une 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.
^I0909HTCharacter Tabulation, Horizontal Tabulation\t Positionne le caractère suivant dans une colonne de type tab stop (tabulation).
^J100ALFLine 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, la caractère de contrôle LF est utilisé immédiatement après CR comme partie composante de la fin de ligne.
^K110BVTLine Tabulation, Vertical Tabulation\v Positionnement sur la prochaine ligne de tabulation.
^L120CFFForm 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.
^M130DCRCarriage 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 fine de ligne. La touche [Entrée] (ou [Retour]) d'un clavier envoie cette valeur qui peut être différente suivant le logiciel impliqué.
^N140ESOShift Out Change pour un jeu de caractère alternatif.
^O150FSIShift In Retour au jeu de caractère régulier après avoir utilisé un jeu de caractères alternatifs.
^P1610DLEData 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.
^Q1711DC1Device Control One (XON) Ces quatre codes de contrôles sont réserves 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.
^R1812DC2Device Control Two
^S1913DC3Device Control Three (XOFF)
^T2014DC4Device Control Four
^U2115NAKNegative 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 du dit bloc. Dans les systèmes multipoint, le NAK est utilisé comme réponse not-ready à un poll.
^V2216SYNSynchronous 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 lorsque aucun autre caractère n'est transmis.
^W2317ETBEnd 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.
^X2418CANCancel Indique une erreur ou une annulation dans les données précédentes.
^Y2519EMEnd of medium Sur bandes papier ou magnétiques moyen d'indiquer que la fin de la partie utilisable de la bande a été atteinte.
^Z261ASUBSubstitute 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.
^[271BESCEscape

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.

^\281CFSFile Separator Peut être utilisé comme délimiteurs 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.
^]291DGSGroup separator
^^301ERSRecord Separator
^_311FUSUnit 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és.

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

 3220SPSpace 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.
^?1277FDELDelete À 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

  • Alphabet International de référence : ANCIEN ALPHABET INTERNATIONAL N° 5 ou AI5, Union international des télécommunications (lire en ligne)
  • Portail de l’informatique
  • Portail des télécommunications
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.