En informatique, un caractère de substitution (␚) est un caractère de contrôle utilisé pour compléter les données transmises afin de les envoyer par blocs de taille fixe, ou pour remplacer un caractère reconnu comme invalide, erroné ou non représentable sur un périphérique donné. Il est également utilisé comme séquence d'échappement dans certains langages de programmation .
Dans le jeu de caractères ASCII , ce caractère est codé par le nombre 26 ( 1A en hexadécimal ). Les claviers standard transmettent ce code lorsque les Ctrltouches Ctrl+Z (souvent noté par convention ^Z ) sont enfoncées simultanément . Unicode hérite de ce caractère d'ASCII, mais recommande d'utiliser le caractère de remplacement (�, U+FFFD) pour représenter les entrées non décodables, lorsque l'encodage de sortie est compatible.Z
Utilisations
Fin du fichier
Dans CP/M , 86-DOS , MS-DOS , PC DOS , DR-DOS et leurs différents dérivés, le caractère SUB était également utilisé pour indiquer la fin d'un flux de caractères et donc pour terminer la saisie de l'utilisateur dans une fenêtre de ligne de commande interactive (et à ce titre, souvent utilisé pour terminer la redirection de la saisie de la console, par exemple déclenchée par la commande ).COPY CON: TYPEDTXT.TXT
Bien que l'indication de la fin d'un fichier ne soit plus techniquement obligatoire (en 2017), de nombreux éditeurs de texte et langages de programmation prennent encore en charge cette convention, ou peuvent être configurés pour insérer ce caractère à la fin d'un fichier lors de son édition, ou du moins pour le gérer correctement dans les fichiers texte. Dans ce cas, on parle souvent d'EOF « soft », car il ne représente pas nécessairement la fin physique du fichier, mais plutôt un marqueur indiquant qu'« il n'y a plus de données utiles au-delà ». En réalité, des données peuvent exister au-delà de ce caractère, jusqu'à la fin réelle du système de fichiers ; l'EOF peut donc servir à masquer le contenu d'un fichier lors de sa saisie dans la console ou de son ouverture dans un éditeur. De nombreux formats de fichiers standards (par exemple PNG ou GIF ) incluent le caractère SUB dans leurs en-têtes pour remplir précisément cette fonction. Certains formats de fichiers texte modernes (par exemple CSV-1203 ) recommandent encore l'ajout d'un caractère EOF final. Cependant, la saisie du symbole + n'insère pas de caractère EOF dans un fichier, ni sous MS-DOS ni sous Windows , et les API de ces systèmes n'utilisent pas ce caractère pour indiquer la fin réelle d'un fichier.ControlZ
Certains langages de programmation (par exemple Visual Basic ) ne lisent pas au-delà d'une fin de fichier « douce » lorsqu'ils utilisent les primitives de lecture de fichiers texte intégrées (INPUT, LINE INPUT, etc.), et des méthodes alternatives doivent être adoptées, par exemple ouvrir le fichier en mode binaire ou utiliser l'objet système de fichiers pour aller au-delà.
Le caractère 26 était utilisé pour marquer la « Fin de fichier », bien que l'ASCII le désigne comme un caractère de substitution et qu'il existe d'autres caractères pour indiquer la « Fin de fichier ». Le caractère 28, appelé « Séparateur de fichiers », était également utilisé à des fins similaires.
Autres utilisations
Dans les systèmes d'exploitation de type Unix , ce caractère est généralement utilisé dans les interpréteurs de commandes pour permettre à l'utilisateur de suspendre le processus interactif en cours d'exécution. Le processus suspendu peut ensuite être repris en mode interactif (premier plan), exécuté en arrière-plan ou arrêté . Lorsqu'un utilisateur saisit ce caractère dans son terminal , le processus en cours d'exécution reçoit un signal d'arrêt du terminal ( SIGTSTP ), ce qui provoque généralement sa suspension. L'utilisateur peut ensuite reprendre l'exécution du processus à l'aide de la commande `foreground` fgou ` background`bg .
Le rapport Unicode Security Considerations recommande ce caractère comme un remplacement sûr pour les caractères non mappables lors de la conversion de jeu de caractères.
Dans de nombreuses interfaces graphiques et applications, la touche + (ou + sur macOS ) permet d' annuler la dernière action. Dans de nombreuses applications, il est également possible d'annuler les actions précédentes en appuyant plusieurs fois sur + . La touche + faisait partie des quelques séquences de touches choisies par les concepteurs de programmes chez Xerox PARC pour contrôler l'édition de texte .ControlZ⌘ CommandZControlZControlZ
Représentation
Représentation ASCII et Unicode de « substitut » :
- Code octal : 32
- Code décimal : 26
- Code hexadécimal : 1A, U+001A
- Symbole mnémotechnique : SUB
- Valeur binaire : 11010