bitlvl
IT

Codificatore / decodificatore di entità HTML

Incolla testo da codificare o entità da decodificare. Scegli riferimenti con nome o numerici. La tabella sotto elenca ogni entità con nome che HTML5 conosce, cercabile per nome o carattere.

Codifica

Tabella delle entità con nome

 

I risultati e i messaggi di questo strumento sono mostrati in inglese.

Quando codificare

Solo cinque caratteri hanno un significato nel testo e negli attributi HTML: & inizia un’entità, < e > delimitano i tag, e " e ' chiudono i valori degli attributi. Fai l’escape di questi ogni volta che inserisci testo non fidato in una pagina, e sei al sicuro dall’iniezione di markup (XSS in contesto HTML). Tutto il resto, comprese lettere accentate, emoji e simboli, può essere scritto letteralmente in un documento UTF-8; codificarle come &eacute; è un’abitudine dell’era Latin-1 e rende il sorgente più difficile da leggere.

Tre modi di scrivere un carattere

FormaEsempioNote
Con nome&eacute; &rarr; &nbsp;2.125 nomi in HTML5; leggibili, ma solo i cinque di base funzionano in XML senza DTD.
Decimale&#233;Funziona ovunque, compresi XML e SVG.
Hex&#xE9;Corrisponde alla notazione dei code point Unicode U+00E9; anch’essa universale.

Trappole

  • &nbsp; è un carattere vero (U+00A0). Sopravvive al copia-incolla come spazio unificatore invisibile e rompe i confronti tra stringhe; l’ispettore Unicode lo trova.
  • I browser accettano alcune entità legacy senza il punto e virgola (&copy, &amp), quindi un URL come ?a=1&copy=2 in un attributo non codificato diventa ?a=1©=2. Negli attributi scrivi sempre &amp;.
  • La doppia codifica (&amp;lt;) appare nella pagina come &lt; letterale; codifica una volta sola, al momento dell’output.
  • Nelle stringhe JavaScript le entità HTML non vengono decodificate; lì usa \u00E9, oppure imposta textContent e salta del tutto l’escape.

Domande

Cos’è &nbsp;?

Uno spazio unificatore, U+00A0: uno spazio che impedisce l’a capo e non viene compattato con gli spazi vicini. Usalo tra un numero e la sua unità (10 km) e in nessun altro posto.

Devo codificare i caratteri accentati?

No, se la pagina è servita come UTF-8, come dovrebbe essere ogni pagina moderna. Scrivi é direttamente. Codifica solo quando il file potrebbe essere salvato in un altro charset o quando devi rendere visibile un carattere invisibile nel sorgente.

Quali entità funzionano in XML e SVG?

Solo &, <, >, " e ', più i riferimenti numerici. Le entità con nome come © causano un errore di parsing in XML se non dichiarate.

Come mostro codice HTML in una pagina web?

Codificalo: ogni < diventa &lt;, ogni & diventa &amp;. Incolla il codice nella casella Testo con la prima opzione di codifica e copia l’output HTML in un blocco <pre><code>.