Encodeur et décodeur d'entités HTML
Encodez du texte en entités HTML (named ou numériques) ou décodez vers du texte brut — instantanément.
Que sont les entités HTML ?
Les entités HTML sont les séquences d'échappement qui permettent d'insérer dans un document des caractères ayant un sens particulier en HTML — <, >, &, ", ' — sans que l'analyseur les interprète comme du balisage. Elles existent en trois formes : nommée (&), numérique décimale (&) et numérique hexadécimale (&). Toutes les trois sont décodées de manière identique par les navigateurs ; la différence se situe au niveau de leur lisibilité dans le code source.
Comment utiliser cet outil
Choisissez Encoder pour échapper du texte avant de le coller dans du HTML, ou Décoder pour reconvertir les entités en caractères d'origine. Choisissez Nommé pour une sortie lisible (©), Décimal ou Hexadécimal pour les environnements anciens qui ne reconnaissent pas les entités nommées. Réglez la Portée sur cinq caractères dangereux pour l'échappement HTML normal ; passez à tous les caractères non ASCII si votre cible est un contexte ASCII uniquement, comme un vieux moteur de gabarits d'e-mail. Le bouton Permuter inverse les côtés encodé et décodé pour que vous puissiez faire l'aller-retour et confirmer que rien n'a été perdu.
Nommé ou numérique — lequel choisir ?
Les entités nommées sont plus lisibles dans le code source — © indique au prochain développeur qu'il s'agit d'un symbole copyright, pas ©. Elles sont aussi légèrement plus compactes pour les caractères courants. Les entités numériques, en revanche, sont universelles : chaque point de code Unicode en possède une, alors que la table des entités nommées est figée aux 252 noms livrés avec HTML5. Utilisez les entités nommées pour les cinq caractères courants et une poignée de favoris typographiques (—, …, ©) ; passez à la forme numérique lorsque vous tombez sur un caractère sans nom canonique.
Les cinq caractères qu'il faut toujours échapper
| Caractère | Nommé | Décimal | Hexadécimal | Quand l'utiliser |
|---|---|---|---|---|
< | < | < | < | Toujours dans le contenu d'un élément ; sinon l'analyseur croit qu'une balise commence. |
> | > | > | > | Moins critique, mais à échapper par symétrie et pour éviter les cas limites des anciens navigateurs. |
& | & | & | & | Toujours — il commence chaque entité, donc le laisser brut perturbe l'analyseur. |
" | " | " | " | Dans les valeurs d'attribut entourées de guillemets doubles. |
' | ' | ' | ' | Dans les valeurs d'attribut entourées de guillemets simples. Utilisez l'entité numérique en HTML4 — ' n'est devenue standard qu'avec HTML5. |
Questions fréquentes
Dois-je encoder chaque caractère ?
&, <, >, ", '. Le mode tous les caractères non ASCII existe pour les systèmes anciens qui ne sont pas propres en UTF-8.Les entités HTML sont-elles identiques à l'encodage URL ?
%20 pour l'espace) concerne les URL ; les entités HTML (&) concernent le HTML. Ce sont des mécanismes d'échappement différents appliqués à des couches différentes. Dans un href, vous pourriez avoir besoin des deux : encodez l'URL en pour cent, puis encodez en HTML l'esperluette s'il s'agit d'un attribut.' fonctionnera-t-elle en HTML4 ?
' a été introduite comme entité nommée standard en HTML5 ; les versions antérieures de la spécification ne la définissent qu'en XML. Pour une portabilité maximale dans les contextes anciens, utilisez la forme numérique '.Que prend en charge le mode Décoder ?
&, hexadécimale &) ainsi que l'ensemble complet des entités nommées HTML5 — plus de 2 200 noms. Le décodeur est un sur-ensemble strict de l'encodeur.Cet outil envoie-t-il mon texte quelque part ?
En quoi cela diffère-t-il de encodeURIComponent en JavaScript ?
encodeURIComponent effectue un encodage pour cent destiné aux URL (café devient caf%C3%A9). L'encodage en entités HTML produit café ou café. Utilisez le bon outil pour le bon contexte — et notre analyseur d'URL si vous devez plutôt inspecter un encodage URL.