Le caractère de contrôle de suppression (également appelé DEL ou rubout ) est le dernier caractère du répertoire ASCII , avec le code 127. Il est censé ne rien faire et a été conçu pour effacer les caractères incorrects sur une bande papier . Il est noté ^? en notation caret et U+007F en Unicode .
Les émulateurs de terminaux peuvent produire DEL lorsque ← Backspacela touche + ou + est tapée. Control← BackspaceControl?
Histoire
Ce code était à l'origine utilisé pour marquer les caractères supprimés sur les bandes perforées , car n'importe quel caractère pouvait être remplacé par des uns en perforant des trous partout. Si un caractère était perforé par erreur, le fait de perforer les sept bits entraînait l'ignorance ou la suppression de cette position. En hexadécimal , il s'agit de 7F pour effacer 7 bits ( FF pour effacer 8 bits était utilisé pour les codes à 8 bits). Ce caractère pouvait également être utilisé comme remplissage pour ralentir l'impression après les nouvelles lignes, bien que le NUL entièrement nul soit plus souvent utilisé.
Le modèle Teletype 33 fournissait une touche étiquetée pour saisir ce caractère (après que l'utilisateur ait sauvegardé la bande à l'aide d'un autre bouton), et ne fournissait pas de touche qui produisait le caractère Backspace (BS). Par conséquent, un certain nombre de systèmes informatiques moins coûteux qui utilisaient des Teletypes utilisaient cette touche (et donc le code Delete) pour ignorer le caractère mal saisi précédemment. Les terminaux vidéo conçus pour remplacer le télétype devaient alors placer une touche qui produisait ce code là où Backspace serait attendu, en particulier dans les produits de Digital Equipment Corporation . Sur les terminaux compatibles VT100 , il s'agit du caractère généré par la touche étiquetée . Sur les terminaux ultérieurs, tels que le VT510 , la touche est étiquetée (appelée backarrow dans le manuel ) et envoie par défaut DEL, mais peut être configurée pour envoyer BS. RUB OUTDelete⌫
D'autres terminaux conçus pour des systèmes qui n'avaient pas l'habitude d'utiliser des télétypes faisaient généralement en sorte qu'une touche à cette position envoie BS, ce qui entraînait beaucoup de confusion. Unix, en particulier, avait un problème ennuyeux dans la mesure où il ne pouvait être programmé que pour effacer le caractère précédent de l'un d'entre eux (pas des deux), obligeant ainsi l'utilisateur à reconfigurer le pilote du terminal pour chaque marque de terminal. Selon le type de terminal utilisé par le concepteur, le logiciel faisait parfois en sorte que les raccourcis + ou + fassent quelque chose, même s'ils envoyaient le même code que BS et DEL, en supposant que la touche de retour arrière envoyait l'autre code. CtrlHCtrl?
Une touche marquée qui envoie BS est de loin la plus courante sur les terminaux et émulateurs modernes. Pour s'assurer qu'ils ne suppriment pas à l'envers, la touche marquée « Delete » sur de nombreux terminaux n'envoie pas DEL et envoie à la place une séquence d'échappement telle que . Backspace ←^[[3~
Utilisation actuelle
Les systèmes d'exploitation de type Unix peuvent toujours l'utiliser comme caractère d'effacement , c'est-à-dire pour supprimer le caractère précédent en mode ligne . Le pilote de terminal ne peut toujours pas être programmé pour accepter à la fois ce caractère et Backspace : il faut en choisir un. Cependant, la plupart des programmes modernes contournent cela et utilisent des bibliothèques telles que readline qui acceptent les deux codes. La plupart des émulateurs de terminaux Unix peuvent être configurés pour envoyer soit Delete soit Backspace lorsque la touche Backspace est enfoncée.
DOS / Windows n'a jamais utilisé ce caractère de quelque façon que ce soit. Le pilote du clavier du BIOS produisait Backspace lorsque la touche Backspace était tapée et NUL avec le code d'analyse 0x53 lorsque la touche Suppr était tapée. Sous Windows, la touche Suppr correspond à VK_DELETE (0x2E). Les polices EGA/VGA , comme les polices utilisées par la console Win32 , ont généralement le symbole « maison » ⌂ au point de code 127 (0x7F), voir la page de code 437 pour plus de détails. Cependant, son héritage peut être observé dans certaines parties du système d'exploitation Windows : par exemple, + dans le Bloc-notes Microsoft insérait le caractère de suppression jusqu'à ce qu'il soit modifié en 2018 pour supprimer le mot précédent. Control← Backspace