Utilia

Codificare și decodificare entități HTML

Convertește caracterele speciale în entități HTML (cu nume, zecimale sau hex) sau decodifică orice entitate, cu lista completă de 2.231 de referințe HTML5.

Opțiuni de codificare

Cum codifici sau decodifici entități HTML

  1. Lipește textul sau codul HTML în caseta de intrare.
  2. Pentru a-l escapa, alege caracterele de codificat: Doar & < > " ' sau Și orice caracter non-ASCII, și alege Formatul entității: Cu nume (&eacute;), Zecimal (&#233;) sau Hexazecimal (&#xE9;).
  3. Apasă Codifică sau apasă Decodifică pentru a transforma entitățile înapoi în caractere.
  4. Citește numărul din linia de stare, apoi apasă Copiază. Folosește rezultatul ca date de intrare mută rezultatul în caseta de intrare, de exemplu pentru a verifica o conversie dus-întors.

Codificare: când și ce să escapezi

În HTML, cinci caractere pot fi confundate cu marcajul. Doar & < > " ' înlocuiește exact aceste caractere: & cu &amp;, < cu &lt;, > cu &gt;, " cu &quot; și ' cu &#39;. Este ceea ce îți trebuie pentru a afișa cod pe o pagină web, pentru a pune text introdus de utilizator într-un atribut sau pentru a lipi un fragment într-un articol de blog sau într-un câmp de CMS care așteaptă HTML. Apostroful folosește forma numerică pentru că &apos; nu exista în HTML 4 și unele analizoare mai vechi nu îl cunosc.

Și orice caracter non-ASCII înlocuiește în plus tot ce se află în afara ASCII imprimabil: litere cu diacritice, ghilimele tipografice, semnul euro, spații inseparabile, emoji și așa mai departe. Rezultatul este ASCII pur, util pentru sistemele care strică UTF-8, pentru șabloane de e-mail sau pentru a face vizibile în sursă caractere invizibile precum &nbsp;.

Formatul entității stabilește cum sunt scrise caracterele:

  • Cu nume (&eacute;) folosește un nume lizibil atunci când HTML îl definește (&eacute;, &euro;, &hellip;), preferând numele clasic din HTML 4 când un caracter are mai multe. Caracterele fără nume, precum emoji, revin la forma zecimală.
  • Zecimal (&#233;) scrie punctul de cod Unicode în baza 10.
  • Hexazecimal (&#xE9;) îl scrie în baza 16, care corespunde notației U+00E9 din tabelele Unicode.

Toate trei sunt înțelese de orice browser. Caracterele din afara Planului Multilingv de Bază, precum 😀, sunt codificate ca o singură referință la punctul de cod complet (&#128512;), nu ca două jumătăți surogat.

Decodificare: regulile HTML5

Decodifică urmează regulile pe care le folosesc browserele când citesc conținutul text, cu lista completă de 2.231 de referințe de caractere numite din HTML Living Standard:

  • referințe cu nume precum &eacute;, &rarr; sau &NotEqualTilde; (unele produc două puncte de cod);
  • referințe zecimale (&#233;) și hexazecimale (&#xE9; sau &#XE9;), cu sau fără punct și virgulă final;
  • nume vechi pe care browserele le acceptă fără punct și virgulă, precum &copy 2026 sau &amp — iar, ca în browsere, &notit; devine ¬it;, pentru că &not este un astfel de nume vechi;
  • referințele numerice din intervalul 128–159 sunt convertite în caracterele Windows-1252 pe care le afișează browserele (&#150; dă o liniuță semicadratină), iar &#0;, surogații și valorile peste U+10FFFF devin caracterul de înlocuire �.

Numele necunoscute, precum &foo;, rămân neschimbate și sunt numărate în linia de stare. Decodificarea este făcută de analizorul propriu al instrumentului, nu prin inserarea textului tău în pagină, deci niciun marcaj și niciun script din intrare nu este interpretat vreodată.

Întrebări frecvente

Trebuie să codific literele cu diacritice?

De obicei nu. O pagină servită ca UTF-8 poate conține direct é sau €. Codificarea caracterelor non-ASCII este necesară doar când fișierul sau sistemul intermediar nu poate lucra cu UTF-8.

De ce &amp;amp; se decodifică în &amp; și nu în &?

Decodificarea se face o singură dată, ca într-un browser. &amp;amp; este un &amp; escapat. Apasă Folosește rezultatul ca date de intrare și Decodifică din nou dacă textul a fost codificat de două ori.

Care este diferența față de codificarea URL?

Entitățile HTML escapează textul pentru documente HTML. Codificarea URL (%20, %C3%A9) escapează textul pentru adrese web. Folosește instrumentul de codificare URL pentru linkuri și șiruri de interogare.

Este textul meu trimis către un server?

Nu. Codificarea și decodificarea rulează în browserul tău. Doar lista numelor de entități este încărcată de pe acest site la prima decodificare.

Decodifică entitățile din atribute altfel?

Browserele tratează diferit, în valorile atributelor, câteva nume vechi fără punct și virgulă. Instrumentul folosește regulile pentru conținut text, care corespund cu ce vezi pe pagină.