PK Systems PK Systems
Web et marketing

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.

Encodeur et décodeur d'entités HTML

Encode &, <, >, ", '. Idéal pour les attributs HTML et le contenu d'éléments.

Encodé

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 (&amp;), numérique décimale (&#38;) et numérique hexadécimale (&#x26;). 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 (&copy;), 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 — &copy; indique au prochain développeur qu'il s'agit d'un symbole copyright, pas &#169;. 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 (&mdash;, &hellip;, &copy;) ; 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
<&lt;&#60;&#x3C;Toujours dans le contenu d'un élément ; sinon l'analyseur croit qu'une balise commence.
>&gt;&#62;&#x3E;Moins critique, mais à échapper par symétrie et pour éviter les cas limites des anciens navigateurs.
&&amp;&#38;&#x26;Toujours — il commence chaque entité, donc le laisser brut perturbe l'analyseur.
"&quot;&#34;&#x22;Dans les valeurs d'attribut entourées de guillemets doubles.
'&apos;&#39;&#x27;Dans les valeurs d'attribut entourées de guillemets simples. Utilisez l'entité numérique en HTML4 — &apos; n'est devenue standard qu'avec HTML5.

Questions fréquentes

Dois-je encoder chaque caractère ?
Non. Le HTML moderne est en UTF-8, donc les lettres accentuées, les emojis et les écritures non latines peuvent figurer telles quelles dans le source. Vous n'avez besoin d'échapper que les cinq caractères ayant une signification structurelle : &, <, >, ", '. 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 ?
Non. L'encodage URL (%20 pour l'espace) concerne les URL ; les entités HTML (&amp;) 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.
&apos; fonctionnera-t-elle en HTML4 ?
Pas de manière fiable. &apos; 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 &#39;.
Que prend en charge le mode Décoder ?
Les deux formes numériques (décimale &#38;, hexadécimale &#x26;) 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 ?
Non. L'encodage et le décodage s'exécutent tous deux dans votre navigateur. Ouvrez DevTools > Réseau et vous ne verrez aucune requête se déclencher pendant que vous tapez. Vous pouvez coller du contenu sensible dans la zone de saisie en toute sécurité.
En quoi cela diffère-t-il de encodeURIComponent en JavaScript ?
Couche complètement différente. encodeURIComponent effectue un encodage pour cent destiné aux URL (café devient caf%C3%A9). L'encodage en entités HTML produit caf&#233; ou caf&eacute;. Utilisez le bon outil pour le bon contexte — et notre analyseur d'URL si vous devez plutôt inspecter un encodage URL.