Utilia

Codifica e decodifica entità HTML

Converti i caratteri speciali in entità HTML (con nome, decimali o esadecimali) o decodifica qualsiasi entità, con l'elenco completo dei 2231 nomi HTML5.

Opzioni di codifica

Come codificare o decodificare le entità HTML

  1. Incolla il tuo testo o il tuo HTML nella casella di input.
  2. Per fare l’escape, scegli i caratteri da codificare: Solo & < > " ' oppure Anche ogni carattere non ASCII, e scegli un Formato delle entità: Con nome (&eacute;), Decimale (&#233;) o Esadecimale (&#xE9;).
  3. Clicca su Codifica, oppure su Decodifica per ritrasformare le entità in caratteri.
  4. Leggi il conteggio nella riga di stato, poi clicca su Copia. Usa il risultato come input sposta il risultato nella casella di input, per esempio per verificare un’andata e ritorno.

Codifica: quando e cosa convertire

In HTML ci sono cinque caratteri che possono essere scambiati per markup. Solo & < > " ' sostituisce esattamente questi: & con &amp;, < con &lt;, > con &gt;, " con &quot; e ' con &#39;. È quello che ti serve per mostrare del codice in una pagina web, per inserire testo degli utenti dentro un attributo o per incollare un frammento in un articolo di blog o in un campo di un CMS che si aspetta HTML. L’apostrofo usa la forma numerica perché &apos; non esisteva in HTML 4 e alcuni parser più vecchi non lo conoscono.

Anche ogni carattere non ASCII sostituisce in più tutto ciò che esce dall’ASCII stampabile: lettere accentate come à, è, ù, virgolette tipografiche, il simbolo dell’euro, spazi unificatori, emoji e così via. Il risultato è puro ASCII, utile per i sistemi che rovinano l’UTF-8, per i modelli di email o per rendere visibili nel sorgente caratteri invisibili come &nbsp;.

Il Formato delle entità decide come vengono scritti i caratteri:

  • Con nome (&eacute;) usa un nome leggibile quando l’HTML ne definisce uno (&eacute;, &euro;, &hellip;), preferendo il nome classico di HTML 4 quando un carattere ne ha più d’uno. I caratteri senza nome, come le emoji, ripiegano sul decimale.
  • Decimale (&#233;) scrive il code point Unicode in base 10.
  • Esadecimale (&#xE9;) lo scrive in base 16, come la notazione U+00E9 delle tabelle Unicode.

Tutti e tre sono compresi da qualsiasi browser. I caratteri fuori dal Basic Multilingual Plane, come 😀, vengono codificati con un unico riferimento al code point completo (&#128512;), non con due metà surrogate.

Decodifica: le regole di HTML5

Decodifica segue le regole che i browser usano quando leggono il contenuto testuale, con l’elenco completo dei 2231 riferimenti a caratteri con nome dell’HTML Living Standard:

  • riferimenti con nome come &eacute;, &rarr; o &NotEqualTilde; (alcuni producono due code point);
  • riferimenti decimali (&#233;) ed esadecimali (&#xE9; o &#XE9;), con o senza il punto e virgola finale;
  • nomi legacy che i browser accettano senza punto e virgola, come &copy 2026 o &amp; e, come nei browser, &notit; diventa ¬it; perché &not è uno di questi nomi legacy;
  • i riferimenti numerici nell’intervallo 128–159 corrispondono ai caratteri Windows-1252 mostrati dai browser (&#150; dà un trattino medio), mentre &#0;, i surrogati e i valori oltre U+10FFFF diventano il carattere di sostituzione �.

I nomi sconosciuti come &foo; restano invariati e vengono contati nella riga di stato. La decodifica è fatta dal parser dello strumento, non inserendo il tuo testo nella pagina, quindi markup o script presenti nell’input non vengono mai interpretati.

Domande frequenti

Devo codificare le lettere accentate?

Di solito no. Una pagina servita in UTF-8 può contenere direttamente é o €. Codificare i caratteri non ASCII serve solo quando il file o il sistema intermedio non gestisce l’UTF-8.

Perché &amp;amp; diventa &amp; e non &?

La decodifica avviene una sola volta, come fa un browser. &amp;amp; è un &amp; con escape. Clicca su Usa il risultato come input e di nuovo su Decodifica se il testo era stato codificato due volte.

Che differenza c'è con la codifica URL?

Le entità HTML proteggono il testo per i documenti HTML. La codifica URL (%20, %C3%A9) protegge il testo per gli indirizzi web. Per link e query string usa il codificatore URL.

Il mio testo viene inviato a un server?

No. Codifica e decodifica avvengono nel tuo browser. Solo l’elenco dei nomi delle entità viene caricato da questo sito la prima volta che decodifichi.

Le entità dentro gli attributi vengono decodificate in modo diverso?

I browser gestiscono in modo diverso alcuni nomi legacy senza punto e virgola dentro i valori degli attributi. Questo strumento usa le regole del contenuto testuale, che corrispondono a ciò che vedi nella pagina.