Passez d'un texte à sa représentation hexadécimale, ou revenez au texte. Chaque octet UTF-8 est affiché sur deux chiffres hexadécimaux.
L'hexadécimal représente les nombres en base 16, avec les chiffres de 0 à 9 puis les lettres A à F. Son intérêt : un octet s'écrit toujours sur exactement deux caractères, contre huit en binaire. La lettre « A » vaut 41 en hexadécimal, là où le binaire demande 01000001.
C'est la notation par défaut dès qu'on regarde des données brutes. Un éditeur hexadécimal affiche le contenu d'un fichier octet par octet ; les couleurs CSS s'écrivent en hexadécimal, comme #00b4d8 ; les empreintes MD5 et SHA sont présentées ainsi ; les adresses mémoire d'un débogueur également.
Comme pour le binaire, la conversion suit l'encodage UTF-8 : un caractère latin simple donne deux chiffres hexadécimaux, un caractère accentué en donne quatre. Le décodage accepte les octets séparés par des espaces, collés, ou préfixés par 0x.
Pour la lisibilité. Un octet tient sur deux caractères au lieu de huit, et la correspondance reste directe : chaque chiffre hexadécimal représente exactement quatre bits. C'est un compromis entre compacité et facilité de lecture.
C'est une convention issue du langage C pour signaler qu'un nombre est écrit en hexadécimal. 0x41 vaut 65 en décimal. Le décodeur ignore ce préfixe s'il est présent.
Les deux sont équivalentes : 4f et 4F désignent la même valeur. Les minuscules dominent dans le monde Unix et le web, les majuscules dans la documentation matérielle. Une case permet de choisir.
Avec un éditeur hexadécimal, qui affiche les octets bruts en regard de leur interprétation textuelle. C'est le moyen d'identifier le vrai format d'un fichier par ses premiers octets, indépendamment de son extension.