100 % locale — i tuoi dati non lasciano mai il tuo browser

Entità HTML in testo — leggi uno snippet estratto

Decodifica le entità HTML in caratteri. I riferimenti numerici sono tutti supportati e un nome sconosciuto resta visibile: vedi che cosa c’era scritto.

Istantaneo Privato Zero cookie

Input HTML Entities

Output Text

Che cosa fa questo strumento

Ogni referenza &…; diventa il carattere che nomina.

  • Numerica decimale — é dà é.
  • Numerica esadecimale — é e é danno entrambe é.
  • Nominata — &,  , —, é e una sessantina di altri nomi comuni.

Un carattere fuori dal piano di base entra come una referenza ed esce come un carattere: 😀 e 😀 danno entrambi l’emoji.

Un nome sconosciuto resta visibile

♥ esce come ♥.

HTML5 definisce più di duemila nomi. Questo strumento porta quelli che si incontrano davvero e lascia intatti gli altri, perché le alternative sono peggiori. Cancellare una referenza non riconosciuta perde dati in silenzio. Indovinarla inventa un carattere che non c’era. Lasciarla visibile ti dice esattamente che cosa non è stato trattato, e la forma numerica funziona sempre.

La decodifica avviene una volta

&amp;lt; dà &lt;, non <.

È la risposta giusta, non un limite. &amp;lt; è ciò che un codificatore produce quando il testo di partenza erano i quattro caratteri letterali &lt;, quindi un solo passaggio restituisce esattamente quel testo. Rilanciare il decodificatore trasformerebbe markup con escape in markup vivo: l’esatto fallimento che l’escape esiste per impedire.

Il punto e virgola è obbligatorio

&amp x resta com’è. I browser decodificano davvero alcune referenze senza terminatore, per compatibilità con documenti scritti negli anni novanta, ma quali dipende dal parser e dal contesto. Pretendere il punto e virgola significa che il risultato non dipende da chi glielo chiedi.

Referenze che non nominano alcun carattere

Tre casi tornano così come sono scritti invece di essere decodificati:

  • &#0; — un NUL non ha rappresentazione legale in HTML, e produrne uno tronca una stringa C, rompe un insert SQL e corrompe chi legge il risultato;
  • da &#xD800; a &#xDFFF; — le metà surrogate non sono caratteri, solo un artefatto di codifica;
  • tutto ciò che supera &#1114111; — oltre il tetto di Unicode.

Vedi la referenza che hai scritto, il segnale onesto che non nominava nulla.

Privato per progettazione

Tutto viene eseguito localmente nel browser con JavaScript. I tuoi dati non vengono mai caricati, quindi lo strumento è sicuro per contenuti sensibili e funziona anche offline.

Domande frequenti

Perché &hearts; è ancora nel mio risultato?
Perché non è nell’elenco dei nomi che questo strumento decodifica, e lasciarlo visibile è meglio che cancellarlo o indovinarlo. HTML5 definisce più di duemila nomi; quelli comuni sono coperti e il resto resta esattamente come l’hai scritto, così vedi che cosa non è stato trattato. La forma numerica, `&#9829;`, si decodifica.
Perché &amp;lt; è diventato solo &lt; e non <?
Perché la decodifica avviene una volta sola. `&amp;lt;` è ciò che un codificatore produce dal testo letterale `&lt;`, quindi un passaggio restituisce quel testo, ed è la risposta giusta. Decodificare due volte trasformerebbe markup con escape in markup vivo, proprio il difetto che l’escape esiste per impedire.
Perché &#0; è rimasto intatto?
Perché non c’è alcun carattere da produrre. Un NUL non ha rappresentazione legale in un documento HTML, ed emetterlo troncherebbe una stringa C, romperebbe un insert SQL e corromperebbe chi legge il risultato. Lo stesso vale per una metà surrogata e per tutto ciò che supera U+10FFFF: la referenza torna così com’è scritta.

Convertitori correlati