Codifica

HTML Entities Encode/Decode

Codifica e decodifica di entità HTML — visualizzazione sicura di caratteri speciali nella pagina.

HTML entities are a way to write characters that would otherwise break markup (<, >, &) or have no keyboard key, as safe text sequences like &lt; or &amp;. This tool encodes and decodes such entities right in your browser.

How to use it

Common uses

Things to keep in mind

HTML entity escaping only protects against XSS via a page's text content — it does not protect a JavaScript context (innerHTML, eval) or href/src attributes containing unvalidated URLs.

Encode exactly at the point where text gets inserted into HTML, not ahead of time when saving to a database — otherwise the data gets mangled when reused outside an HTML context.

Articolo su questo strumento: HTML Entities: come mostrare caratteri speciali in sicurezza

Domande frequenti

Qual è la differenza tra entità HTML nominate e numeriche?

Le entità nominate come &amp; sono più facili da leggere, mentre quelle numeriche come &#38; o &#x26; (decimale o esadecimale) funzionano per qualsiasi carattere, inclusi quelli privi di entità nominata. Entrambe vengono renderizzate in modo identico nel browser.

Quando devo davvero codificare le entità HTML?

Codifica caratteri come < > & " ' ogni volta che inserisci testo dinamico o fornito dall'utente in markup HTML, così il browser li tratta come testo e non come parte di un tag o attributo.

Qual è la differenza tra la modalità "Base" e "Tutti i caratteri"?

La modalità Base esegue l'escape solo dei caratteri strutturalmente significativi in HTML (come < > & " '), mentre "Tutti i caratteri" converte anche altri caratteri non ASCII in entità numeriche, utile per parser più vecchi o rigidi.

Il testo in un attributo va escapato diversamente rispetto al corpo della pagina?

I caratteri principali (<, >, &) si escapano allo stesso modo, ma dentro un attributo tra virgolette è fondamentale escapare anche esattamente il tipo di virgoletta che delimita l'attributo — altrimenti il valore si "romperà" prima del previsto.

L'escaping HTML protegge da tutti i tipi di XSS?

No. Copre il vettore più comune — l'inserimento di testo nel contenuto HTML — ma non protegge dall'XSS tramite contesto JavaScript (ad esempio innerHTML con esecuzione di codice) o da URL non validati in href/src.

Articoli: Codifica

Base64: a cosa serve la codifica e come funziona

Come Base64 trasforma dati binari in testo ASCII e quando serve davvero.

Base32: come si differenzia da Base64 e quando è più comodo

L'alfabeto di Base32, insensibile a maiuscole/minuscole, e i casi in cui è più comodo di Base64.

URL Encode/Decode: il percent-encoding nei link

Come i caratteri speciali negli indirizzi e nei parametri diventano sequenze %XX.

JWT: struttura del token e cosa significa "decodificare" un JWT

Header, payload e signature di un JWT, e perché decodificare non equivale a verificare la firma.

Unicode Escape: cosa significano le sequenze \uXXXX

Da dove vengono sequenze come \u0041 in JSON e nelle stringhe JS, e cosa significano.

ROT13 e il cifrario di Cesare: semplice sostituzione di caratteri

Perché uno scorrimento di 13 lettere rende ROT13 auto-inverso, e perché si usa ancora oggi.

Punycode: come funzionano i domini internazionalizzati nel DNS

Come un dominio con caratteri non latini diventa una forma ASCII con il prefisso xn--.

Il codice Morse: come il testo diventa punti e linee

Il principio di codifica delle lettere in punti e linee, e dove si usa ancora oggi il Morse.

Data URI: quando incorporare immagini direttamente nel codice

Come un Data URI incorpora il contenuto di un file direttamente in HTML o CSS, e quando conviene.

Gzip + Base64: comprimere dati per trasmetterli come testo

Perché i dati binari compressi vengono anche codificati in Base64 prima di finire in un campo di testo.

XML Entities: escapare i caratteri nei documenti XML

Le cinque entity XML obbligatorie senza le quali il documento si rompe durante il parsing.