Caractère d'effacement

En informatique, le caractère d'effacement ou caractère de suppression (en anglais delete caracter ou rubout caracter) est le dernier caractère du code ASCII, avec la valeur 127 (en décimal)[1]. Ce caractère sert à effacer un autre caractère.

Il s'agit d'un caractère de contrôle et non d'un caractère imprimable. Il est représenté par ^? en notation caret et a une représentation graphique de ␡ en Unicode.

HistoireModifier

  ·     NUL
· CR
· LF
· DEL
· SP
Une bande perforée montrant les caractères suivants : NUL (nul), CR (retour à la ligne), LF (saut de ligne), DEL (effacement) et SP (espace).

Le caractère d'effacement était utilisé à l'origine pour marquer les caractères supprimés sur une bande perforée. En effet, sur une bande perforée, n'importe quel caractère pouvait être transformé en caractère d'effacement en perforant des trous dans toutes les positions du caractère. Si un caractère était perforé en erreur, la suppression de ses sept bits faisait que le caractère était ignoré. C'était une version informatique du correcteur liquide[2],[3]. On utilisait 7F (en hexadécimal) pour supprimer 7 bits et de FF (en hexadécimal) pour supprimer 8 bits.

Pour les téléscripteurs tels que le Teletype Model 33 (en), les lignes de texte se terminaient généralement par les trois caractères CR (retour de chariot), LF (saut de ligne) et DEL (effacement). Le DEL (effacement) laissait le temps au mécanisme d'impression de se déplacer physiquement vers la marge gauche avant l'arrivée d'un caractère imprimable.

Sur les terminaux compatibles VT100, le caractère d'effacement est le caractère généré par la touche de suppression qui transmet le caractère d'effacement (octal 177 ou hexadécimal 7F) au système hôte[4],[5].

Utilisation actuelleModifier

Les systèmes d’exploitation de type Unix utilisent ce caractère comme caractère de contrôle d’effacement pour supprimer le caractère précédent en mode interface en ligne de commande. Cela diffère toutefois de sa fonction d'origine, où ce caractère remplaçait (physiquement) un caractère à supprimer d'une bande perforée.

Les systèmes d'exploitation DOS et Windows n'ont pas utilisé ce caractère, utilisant plutôt le retour arrière (0x08 ou control-H) pour supprimer le caractère précédent. Les polices VGA-compatible text mode (en), en tant que polices utilisées par la console Win32, ont généralement le symbole maison (⌂) en position 127 (0x7F), voir l'article Page de code 437 pour plus de détails. Cependant, l'héritage du caractère d'effacement est visible dans certaines applications distribuées avec le système d'exploitation Windows. Par exemple, la combinaison de touches Control et Backspace dans le Bloc-notes de Microsoft génère le caractère d'effacement.

RéférencesModifier

(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Delete character » (voir la liste des auteurs).
  1. definition of the rubout character 7F hex
  2. Robert C. Martin, The Clean Coder : A Code of Conduct for Professional Programmers, Pearson Education, , 336 p. (ISBN 978-0-13-254288-3, lire en ligne)
  3. LaFarr, « "Paper Tape" First Machinable I/O »,
  4. « VT100 Family of Video Terminals », vt100.net
  5. « VT100 User Guide- Chapter 3 – Table 3-4 Function Key Codes », vt100.net