Lire des caractères HTML encodés
Utilisez ce sens lorsqu’une chaîne copiée contient des références comme &, < ou des références numériques et que vous voulez retrouver les caractères lisibles. Une suite représentant une esperluette devient une esperluette ; celle qui représente un signe inférieur redevient ce caractère. Le convertisseur montre le résultat décodé comme du texte brut. Cela aide à examiner des journaux, des exports ou des messages échappés pour l’affichage, dont les références masquent parfois la ponctuation voulue.
La sortie n’est pas une garantie de sécurité si vous la traitez comme du balisage. Décoder la référence d’un chevron ouvrant peut par exemple révéler une suite ressemblant à une balise. Insérer ensuite le résultat avec innerHTML pourrait lui donner un sens HTML, tandis que textContent le garde comme texte. Certaines références sont nommées, d’autres numériques, et les règles des navigateurs ont des nuances. Si un aller-retour exact est nécessaire, comparez les octets originaux et le parseur destinataire plutôt que de supposer qu’un seul décodage suffit.
Références de caractères HTML et contexte
HTML réserve des caractères comme l’esperluette et les chevrons pour le balisage. Les références de caractères permettent de les écrire comme des données : & représente par exemple une esperluette, tandis que < représente un signe inférieur. Le navigateur interprète ces références lorsqu’il analyse le HTML. Il existe des références nommées et numériques, mais leur sens dépend du contexte dans lequel un analyseur HTML les lit. Voir une suite ressemblant à une entité dans un simple fichier texte ne veut pas dire que ce fichier a été rendu comme du HTML.
Il faut distinguer contenu textuel et balisage exécutable. Afficher un texte fourni par un utilisateur dans une page diffère de l’insertion d’un fragment HTML de confiance. De même, un nœud de texte, un attribut, une adresse URL, une règle CSS et une chaîne JavaScript demandent des traitements différents. La conversion des entités est une étape de représentation, pas une politique de sécurité complète ni un assainissement du HTML. Utilisez les API du DOM ou les modèles adaptés à l’endroit où la valeur sera insérée.
Vérifier la source encodée avant de décoder
Partez d’une valeur réellement écrite dans la représentation attendue. Collez un composant ou une suite d’octets encodés, puis comparez la sortie lisible au document qui les fournit. Le décodeur fonctionne dans ce navigateur et n’envoie pas la chaîne à un service de conversion. Une saisie abîmée ou d’un autre format peut échouer ou rester partiellement inchangée selon l’opération. Gardez la valeur encodée initiale pour savoir si un caractère surprenant venait de la source ou de votre interprétation.
Considérez le texte décodé comme une nouvelle saisie potentiellement non fiable. Une phrase lisible peut contenir du balisage, une URL, une chaîne ressemblant à une commande ou des informations privées demandant un traitement séparé. Ne l’insérez pas dans un contexte exécutable au seul motif que le décodage a réussi. Si le résultat semble faux, vérifiez le codage de caractères annoncé et demandez-vous si un système précédent a encodé la valeur plusieurs fois. Répéter le décodage sans comprendre ces couches peut transformer un séparateur littéral en ponctuation structurelle.