Cosa fa
Le entità HTML sono codici che rappresentano caratteri, come < per < ed é per é. Questo strumento converte il testo in entità perché possa essere mostrato in sicurezza dentro una pagina web, e decodifica le entità in testo semplice, per esempio quando copi markup da un CMS o da un template email.
La codifica usa l’elenco completo HTML5 di oltre 2.000 riferimenti con nome, e la decodifica interpreta i riferimenti con nome, decimali (©) ed esadecimali (©) esattamente come un browser.
Come si usa
- Incolla testo o HTML nel riquadro Input, carica un file oppure clicca su Esempio.
- Scegli Codifica o Decodifica.
- In codifica, scegli quanto codificare:
- Solo & < > ” ’: il minimo necessario per inserire testo nell’HTML o in un attributo.
- Più non-ASCII, con nome: trasforma anche caratteri come é, © e — in entità con nome, e tutto ciò che non ha un nome in un riferimento numerico.
- Più non-ASCII, numeriche: come sopra, ma sempre in forma numerica (
é), valida anche in XML. - Tutto ciò che ha un nome: codifica persino la punteggiatura come
.e/, utile quando un sistema elimina questi caratteri.
- Copia o scarica il risultato. Usa come input ti permette di decodificarlo di nuovo per verificare l’andata e ritorno.
Esempio
<p>Café & "crème brûlée"</p>
codificato solo con i caratteri speciali diventa
<p>Café & "crème brûlée"</p>
e con le entità con nome per i caratteri non ASCII diventa
<p>Café & "crème brûlée"</p>
Usi comuni
Mostrare uno snippet di codice in un blog senza che il browser lo interpreti, inserire testo degli utenti in un’email HTML, correggere testo con doppio escape come &amp; (decodificandolo una volta) o rendere un file sicuro per un sistema che accetta solo ASCII.
Domande frequenti
› Quali caratteri vanno convertiti in entità nell'HTML?
Nel testo, & e <. Nei valori degli attributi, anche il tipo di virgoletta che racchiude il valore. Convertire & < > " e ' ovunque, che qui è l'impostazione predefinita, è sempre sicuro.
› Meglio entità con nome o numeriche?
Entrambe funzionano in tutti i browser moderni. Le entità con nome come é sono più leggibili; i riferimenti numerici come é funzionano anche in XML e nei parser più vecchi che conoscono solo pochi nomi. Con una pagina in UTF-8 di solito non serve codificare affatto i caratteri non ASCII.
› La decodifica gestisce le entità senza punto e virgola?
Sì. Segue la specifica HTML, quindi le forme legacy come © senza punto e virgola vengono decodificate come farebbe un browser. I nomi sconosciuti come &foo; restano invariati.
› L'escape basta a prevenire gli attacchi XSS?
L'escape è la difesa giusta per il testo inserito dentro elementi HTML e attributi tra virgolette. Non rende sicuro l'input non attendibile dentro blocchi script, blocchi style, attributi di gestione eventi o URL, che richiedono una codifica specifica per il contesto.