Cookies Ce site ne conserve que ce dont il a besoin pour fonctionner. Il n’y a aujourd’hui ni mesure d’audience ni publicité, et rien ici ne vous suit sur d’autres sites. Lire la politique de confidentialité

Choisir ce que j’autorise
+92 312 8299940Devis gratuit
Outil gratuit, rien à installer

Encodeur d’entités HTML
Et un décodeur indulgent

Cet encodeur d’entités HTML transforme le texte en entités nommées, décimales ou hexadécimales, puis les retransforme en texte. Par défaut, il encode les cinq caractères que HTML réserve et, sur demande, tout ce qui sort de l’ASCII.

  • GratuitPrix
  • 3Formes
  • AucuneInscription
  • AucuneEnvois

Encodeur et décodeur d’entités HTML

Du texte aux entités et retour, avec les règles expliquées

Caractères en entrée
0
Convertis
0
Caractères en sortie
0

Cinq caractères doivent vraiment être encodés en HTML : l’esperluette, les deux chevrons et les deux guillemets. Tout le reste est une question de marge de sécurité.

Prêt. Collez quelque chose et la conversion se fait pendant la saisie.

La saisie et la mesure se font dans cet onglet. Seul le bouton Vérifier sort : l’adresse que vous lui donnez part vers ce site, qui récupère cette page et son icône pour vous. Nous ne gardons aucune copie de l’une ni de l’autre.
En bref

Les caractères que HTML réserve

Cinq caractères signifient quelque chose pour un analyseur. L’esperluette ouvre une entité, les deux chevrons ouvrent et ferment une balise et, de plus, les deux guillemets terminent une valeur d’attribut.

Tout le reste est du texte ordinaire. Ainsi, une lettre accentuée, un tiret cadratin et un emoji traversent un document UTF-8 sans changement.

C’est pourquoi l’encodage est plus restreint qu’on ne le croit. Dans le texte, il vous en faut trois sur cinq et, dans un attribut, aussi le guillemet correspondant.

La liste complète des noms figure dans le standard HTML et compte plus de deux mille entrées. Cependant, presque aucune n’est nécessaire.

Nommée, décimale ou hexadécimale

Les entités nommées se lisent bien, car un   dit ce qu’il est. En revanche, un   ne vous donne qu’un nombre.

Schéma de quatre caractères, inférieur à, esperluette, copyright et euro, présentés sous forme de cartes avec leurs entités HTML nommées et numériques
Chaque symbole a un code d’entité sûr.

Les nombres fonctionnent toujours. Chaque point de code en a un, aucune table n’intervient et, par conséquent, rien ne dépend d’un analyseur qui connaîtrait un nom.

L’hexadécimal est le même nombre en base seize. Utilisez-le quand vous copiez des valeurs depuis une table Unicode, puisque les tables les impriment ainsi.

Quand tout encoder

Un document servi en UTF-8 n’a besoin d’aucune entité pour les accents, puisque les caractères sont simplement des caractères. Ainsi, le navigateur les lit correctement.

Encodeur d’entités HTML avec une ligne de balisage et de symboles à gauche et le texte en entités sûres à droite, les deux zones mises en évidence
Les symboles deviennent des entités sûres.

Encoder tout ce qui sort de l’ASCII est une assurance contre un serveur qui envoie le mauvais charset. Cependant, cela alourdit le fichier et le rend bien plus difficile à modifier.

Par conséquent, n’y recourez que si vous ne contrôlez pas les en-têtes. Dans tous les autres cas, une déclaration de charset correcte est la meilleure solution.

Les entités ne sont pas de l’assainissement

Encoder un texte avant de l’afficher dans une page l’empêche de devenir du balisage. C’est de l’échappement et, de plus, les règles changent selon l’endroit : un attribut, un bloc script et une URL demandent chacun le leur.

Pourquoi décoder est la moitié difficile

Les vrais documents contiennent des entités nommées, décimales, hexadécimales et beaucoup sans point-virgule. Un décodeur doit donc gérer les quatre.

Décodeur d’entités HTML avec des codes d’entité collés et le texte lisible avec les vrais symboles dans la sortie
Décodez les entités en symboles.

De plus, il doit laisser tranquille tout ce qui ressemble seulement à une entité. Le mot &foo; est du texte, et un décodeur qui devine abîme la prose.

Ce décodeur vérifie les noms dans sa table et les points de code dans la plage valide. C’est pourquoi tout ce qu’il ne reconnaît pas revient exactement tel qu’écrit.

Où les entités apparaissent encore

Les anciens modèles d’e-mail en contiennent des centaines. De même les exports de CMS et les conversions PDF et, de plus, tout ce qui est passé un jour par un traitement de texte.

Encodeur d’entités HTML avec la forme hexadécimale choisie et chaque caractère non ASCII encodé, si bien que chaque symbole apparaît sous forme de code x
Choisissez nommée, décimale ou hexadécimale.

On les trouve aussi dans des fichiers CSV tirés d’une page web. Par exemple, une colonne de noms pleine de amp et de rsquo en est le signe habituel.

Décoder un tel fichier une fois le rend de nouveau lisible. Ensuite, vous voyez les guillemets et tirets égarés qui se cachaient sous forme de codes.

Cependant, gardez une copie de l’original. Si une valeur devait rester encodée, vous voudrez la remettre.

Le problème de l’espace insécable

Les traitements de texte en insèrent, et à l’écran elles ressemblent exactement à une espace normale. Ensuite, elles cassent le retour à la ligne et vos comparaisons de texte. C’est pourquoi décoder un bloc collé est le moyen le plus rapide de les trouver.

Comment ça marche

L’encodeur d’entités HTML, étape par étape

Trois étapes, et le résultat suit chaque frappe. De plus, le bouton d’échange gère l’aller-retour.

  • 1

    Choisissez un sens

    Encoder transforme des caractères en entités. À l’inverse, décoder retransforme les entités en caractères, y compris celles sans point-virgule.

  • 2

    Choisissez la forme

    Nommée quand un nom existe, ou des nombres en décimal ou en hexadécimal. Les nombres fonctionnent toujours, c’est pourquoi ils sont le réglage par défaut le plus sûr pour les machines.

  • 3

    Décidez jusqu’où aller

    Laissez l’interrupteur ASCII éteint pour un travail normal. Allumez-le quand un serveur envoie le mauvais charset et que vous ne pouvez pas corriger les en-têtes.

  • 4

    Copiez, ou échangez et vérifiez

    Appuyez sur Déplacer le résultat à gauche et le sens s’inverse. Ensuite, convertir de nouveau doit rendre exactement ce que vous aviez au départ.

Pourquoi celui-ci

Ce qui distingue cet encodeur d’entités HTML

La plupart des convertisseurs font bien un sens et devinent l’autre. Voici, au contraire, les différences qui comptent en pratique.

  • Il laisse tranquilles les noms inconnus

    Un texte qui ressemble à une entité sans en être une reste tel qu’écrit, car un décodeur qui devine abîme la prose sans bruit.

  • Trois formes de sortie

    Nommée, décimale et hexadécimale sortent d’un seul interrupteur, donc vous suivez ce qu’utilise déjà le fichier autour.

  • Les points-virgules manquants sont gérés

    Les vrais documents les oublient, et les navigateurs pardonnent un nom connu. C’est pourquoi ce décodeur fait de même au lieu d’échouer.

  • Un aller-retour réversible

    Échangez les panneaux et convertissez de nouveau. Si quelque chose ne revient pas à son texte de départ, vous avez trouvé un bug dans une étape.

  • Aucune astuce DOM

    Ce site bloque volontairement l’astuce habituelle d’innerHTML, donc les tables sont dans le fichier et chaque échange se fait au grand jour.

  • Vos fichiers restent dans cet onglet

    Des fragments de modèles et des données clients passent par des convertisseurs comme celui-ci. C’est pourquoi tout reste ici dans votre navigateur.

Bonnes habitudes

Des règles pour encoder les caractères spéciaux HTML

L’échappement fait partie de ces tâches où la bonne habitude est plus courte que la mauvaise.

  • Échappez à la sortie, pas à l’entrée. Stockez ce que l’utilisateur a tapé. Ensuite, encodez à l’affichage, et encodez pour l’endroit exact où le texte arrive.
  • Utilisez la fonction de votre framework. Chaque langage en a une, et elle sait où le texte va atterrir. Une chaîne de remplacements faite main finit toujours par rater un cas.
  • Servez l’UTF-8 et déclarez-le. Alors les accents et les emojis n’ont besoin d’aucune entité. Surtout, c’est la solution qui fait disparaître toute la question.
  • Encodez les deux guillemets dans les attributs. Une apostrophe ferme un attribut entre apostrophes, tout comme un guillemet double ferme un attribut entre guillemets doubles. Encodez donc les deux et n’y pensez plus.
  • Préférez les entités numériques dans les fichiers générés. Aucune table de noms n’intervient, donc rien ne dépend d’un analyseur qui connaîtrait un mot. Les noms aident les personnes qui lisent votre source.
  • Surveillez le double encodage. Une esperluette encodée deux fois s’affiche comme & sur la page. Par conséquent, décodez une fois et regardez avant d’encoder de nouveau.
  • Traquez les espaces insécables dans le texte collé. Elles viennent des traitements de texte et cassent le retour à la ligne. Décodez un bloc, et les égarées deviennent visibles.
  • Vérifiez les exports après un changement de CMS. Une migration est le moment où le double encodage s’infiltre. Décodez donc un échantillon des nouvelles pages, puis comparez-le aux anciennes.
  • Gardez la même forme dans tout un fichier. Mélanger noms et nombres dans un modèle complique beaucoup, plus tard, la recherche d’un caractère égaré.
  • N’échappez jamais pour assainir du balisage. L’échappement rend un texte sûr à afficher. Autoriser certaines balises et en retirer d’autres est un autre travail, qui demande un vrai outil d’assainissement.
À éviter

Six erreurs d’entités qui arrivent en production

Elles passent la relecture parce que la page s’affiche bien. Pourtant, les dégâts apparaissent dans un flux, un export ou un index de recherche.

  • Le double encodage

    Le plus courant. Quand le modèle échappe une valeur et que le framework l’échappe de nouveau, le lecteur voit le texte brut de l’entité.

  • Tout encoder par défaut

    Cela double la taille d’une page en français ou en ourdou et rend la source illisible. Réparez donc plutôt le charset.

  • Encoder pour un contexte qui ne convient pas

    L’échappement HTML dans un bloc script ou un paramètre d’URL ne suffit pas. En effet, chaque contexte a ses propres règles.

  • Des entités nommées en XML

    XML connaît cinq noms, pas un de plus. Par conséquent, un   dans un sitemap ou un flux RSS est une erreur d’analyse.

  • Oublier le guillemet dans les attributs

    Il termine l’attribut trop tôt, puis laisse le reste de la valeur comme balisage. C’est ainsi que commence une injection.

  • Voir l’échappement comme un contrôle de sécurité

    Un échappement correct empêche l’injection au point de sortie. Cependant, il ne fait rien contre ce que vous avez stocké ou autorisé.

Questions

Les questions fréquentes sur les entités

Quels caractères dois-je encoder en HTML ?

Trois dans le texte : l’esperluette et les deux chevrons. De plus, dans une valeur d’attribut, encodez aussi le guillemet, et encoder les deux guillemets est plus simple à retenir.

Plutôt des noms ou des nombres ?

Les noms se lisent mieux dans le code source. En revanche, les nombres fonctionnent toujours, n’ont besoin d’aucune table et sont le choix le plus sûr dans un fichier généré par une machine.

Est-ce un décodeur d’entités HTML en ligne ?

Oui, et il gère les entités nommées, décimales et hexadécimales, y compris celles qui arrivent sans point-virgule. De plus, les noms inconnus restent exactement tels qu’ils sont écrits.

Pourquoi vois-je & sur ma page ?

Quelque chose a encodé le texte deux fois. Décodez-le donc une fois ici pour voir l’original, puis cherchez le second échappement dans votre modèle ou votre framework.

Faut-il des entités pour les lettres accentuées ?

Pas dans un document UTF-8 avec une ligne charset correcte. Par conséquent, encodez-les seulement quand vous ne contrôlez pas la façon dont un serveur envoie le fichier.

Puis-je utiliser ces entités en XML ou en RSS ?

Utilisez les numériques. En effet, XML ne définit que cinq entités nommées, donc toute autre, nbsp compris, casse le flux.

Et les caractères spéciaux HTML dans un e-mail ?

Les clients de messagerie lisent le HTML avec des moteurs plus anciens, donc les entités numériques y sont le choix le plus sûr. De plus, testez dans un vrai client avant un envoi.

Encoder, est-ce la même chose qu’assainir ?

Non. Encoder fait s’afficher le texte comme du texte. En revanche, assainir décide quelles balises peuvent rester du balisage, et ce travail demande une bibliothèque conçue pour cela.

Puis-je décoder un fichier entier ici ?

Collez-le. L’outil gère une longue page sans ralentir et, de plus, les compteurs indiquent combien de codes il a remplacés.

Quelles entités cassent un flux RSS ?

Toute entité nommée hormis les cinq que définit XML. Le coupable habituel est nbsp, et le remplacer par un code numérique répare le flux.

Pourquoi mon texte affiche-t-il des guillemets bizarres ?

Un traitement de texte a inséré des guillemets typographiques et quelque chose les a encodés deux fois. C’est pourquoi il suffit de décoder le bloc une fois ici pour retrouver les vrais caractères.

Faut-il encoder l’apostrophe ?

Dans un attribut entre apostrophes, oui, et l’interrupteur des guillemets s’en charge. En revanche, dans le texte, une apostrophe est une ponctuation ordinaire et peut rester telle quelle.

Pourquoi mon esperluette est-elle restée intacte ?

Parce que l’encodeur était en mode décodage, ou que le caractère faisait déjà partie d’une entité. Changez donc de sens et convertissez de nouveau pour voir la différence.

Ce que je colle ici est-il envoyé ?

Non. Les deux sens tournent dans l’onglet de votre navigateur. Par conséquent, rien n’atteint ce site, aucune copie n’est gardée et fermer l’onglet efface tout.

Plus d’outils gratuits

Des outils pour travailler le balisage

Les entités sont une partie du travail manuel sur le HTML. Ces trois outils couvrent le reste.

Prêt à convertir quelque chose ?

Collez un bloc, choisissez un sens et échangez les panneaux pour vérifier l’aller-retour. L’encodeur d’entités HTML est gratuit, ne demande aucun compte et tourne entièrement dans votre navigateur.