verrouillage de décalage
Anglais: locking shift
Mécanisme de codage dépendant de l'état, utilisé dans la communication de données (comme les SMS GSM) et les normes de codage de caractères pour basculer entre différents jeux de caractères ou fenêtres.
Verrouillage de jeu de caractères : commutation permanente des jeux de caractères jusqu'à annulation
Un verrouillage de jeu de caractères est un caractère de contrôle ou une séquence de code qui fait passer un appareil de communication ou un processeur dans un mode d'encodage de caractères différent, et le maintient dans ce mode jusqu'à ce qu'une commande de déverrouillage explicite soit reçue. Contrairement à un changement momentané (qui n'affecte que le caractère suivant), un verrouillage de jeu de caractères modifie l'interprétation de base de toutes les données ultérieures jusqu'à ce qu'il soit activement annulé. Ce mécanisme est essentiel dans les systèmes où l'espace de symboles disponible est plus petit que la gamme complète de caractères nécessaires.
Dans la messagerie SMS GSM, l'alphabet par défaut de 7 bits fournit 128 caractères via le jeu de caractères GSM standard. Pour accéder aux caractères étendus comme les accolades, les crochets ou certains accents, le système utilise des commandes de verrouillage de jeu de caractères : généralement des codes de décalage qui basculent entre le jeu de caractères principal et un jeu d'extension. Un seul verrouillage de jeu de caractères au milieu d'un message signifie que chaque caractère après celui-ci utilise la table alternative, jusqu'à ce qu'un second verrouillage de jeu de caractères revienne au jeu principal. Cela diffère fondamentalement des séquences d'échappement dans certains protocoles, où chaque caractère spécial doit être invoqué explicitement.
Le terme apparaît le plus fréquemment dans les normes de télécommunications mobiles et dans les protocoles de transmission de données hérités. Les premiers systèmes d'encodage de caractères comme ISO 2022 utilisaient les verrouillages de jeu de caractères comme mécanisme principal pour gérer plusieurs alphabets dans un seul message. Dans cette norme, les caractères de contrôle SI (Shift In) et SO (Shift Out) remplissent exactement cette fonction : SO verrouille l'appareil dans un jeu de caractères alternatif, et SI le ramène au jeu par défaut. Les systèmes modernes comme UTF-8 ont largement rendu cette approche obsolète en utilisant un encodage à largeur variable, mais le verrouillage de jeu de caractères reste important dans les environnements contraints tels que les SMS, où la bande passante est mesurée par caractère.
Implications pratiques et modes de défaillance
Un problème courant dans les systèmes utilisant des verrouillages de jeu de caractères est le décalage non apparié : si un code de verrouillage de jeu de caractères est envoyé mais que le déverrouillage correspondant est perdu ou corrompu lors de la transmission, tous les caractères suivants sont décodés en utilisant la mauvaise table, produisant des données illisibles jusqu'à ce que le périphérique récepteur soit réinitialisé ou synchronisé manuellement. Certaines implémentations incluent des mécanismes de temporisation pour revenir au jeu de caractères par défaut si aucun caractère valide n'apparaît dans un laps de temps donné, mais ce n'est pas universel. Les développeurs travaillant avec des SMS ou des protocoles similaires à caractères limités doivent suivre attentivement l'état de décalage et s'assurer que les décalages appariés sont enregistrés et validés.
La raison pour laquelle les verrouillages de jeu de caractères existent est économique : ils économisent de la bande passante. Une séquence d'échappement de décalage momentané nécessite généralement de 1 à 3 octets de surcharge par caractère spécial, tandis qu'un seul verrouillage de jeu de caractères peut s'appliquer à des dizaines de caractères à la fois. Dans les SMS, où chaque caractère coûte de l'argent et l'espace est plafonné à 160 caractères pour le tarif de base, cette économie est tangible. Cependant, cette efficacité se fait au prix de la gestion de l'état, ce qui augmente la complexité de l'analyse et de la récupération d'erreurs.
Sources
- Source de la définitionWiktionary