Les octets hexadécimaux ne sont pas des points de code Unicode
L'hexadécimal est une façon compacte d'afficher des octets. Deux chiffres hexadécimaux représentent un octet, de 00 à FF. Une simple lettre non accentuée occupe souvent un octet en UTF-8, ce qui fait paraître un court exemple comme une substitution caractère par caractère. Ce raccourci ne fonctionne plus pour une grande partie des textes que l'on écrit réellement. Une lettre accentuée peut prendre deux octets ; un emoji peut en prendre quatre ou former une séquence plus longue.
Le point de code U+00E9 identifie le caractère é. Ses octets UTF-8 sont C3 A9, et non E9. Fournir l'octet isolé E9 à un décodeur UTF-8 strict est donc une erreur, même si l'hexadécimal lui-même est valide. Si un journal a été produit avec un encodage ancien, identifiez cet encodage à la source plutôt que de tâtonner jusqu'à ce que le résultat paraisse plausible.
Ce convertisseur vérifie la syntaxe hexadécimale avant de tenter le décodage des caractères. Une séquence compacte comme 4869 est acceptée. Les groupes complets comme 48 69, 48:69 et 0x48,0x69 le sont aussi. Un nombre impair de chiffres dans un groupe est rejeté. Les colonnes d'adresses, les chaînes échappées de langages de programmation et la colonne imprimable d'un hexdump complet ne sont pas gérées par cet analyseur ; collez uniquement les données d'octets.
Séparez les tâches numériques et textuelles. L'hexadécimal FF représente l'entier 255, mais ce n'est pas un octet de texte UTF-8 valide à lui seul. Utilisez le convertisseur de bases numériques pour calculer cette valeur, et cet outil lorsque les octets encodent un message. Un texte obtenu avec succès peut se poursuivre dans les outils de documents existants. Les caractères NULL restent dans les téléchargements, mais le transfert vers un document les rejette.