Cosa fa questo strumento
Decodifica le cinque entità che XML predefinisce — &, <, >, " e ' — insieme ai riferimenti numerici di carattere in entrambe le forme: decimale A ed esadecimale A, anche oltre U+FFFF, così che 😀 ritorni la sua emoji.
I nomi di entità distinguono maiuscole e minuscole, come XML richiede: & viene decodificata, & no. Un riferimento ha bisogno anche del punto e virgola: & senza è testo ordinario e tale resta.
Una sola passata, di proposito
La decodifica avviene esattamente una volta. &lt; dà < e non <, perché &lt; è la forma con escape del testo letterale < e quel testo è la risposta giusta.
Eseguire la decodifica una seconda volta è ciò che riporta il markup con escape a markup attivo: il passaggio dietro un’intera classe di falle di injection. Se il tuo valore è davvero codificato due volte, reincolla il risultato e decodifica di nuovo, come decisione tua e non dello strumento.
Cosa non fa
Le entità con nome di HTML sono fuori perimetro. , © e le altre migliaia appartengono a HTML, non a XML, e tornano intatte.
I riferimenti numerici non validi vengono conservati alla lettera anziché sostituiti. Un punto di codice surrogato (�) o un valore oltre U+10FFFF (�) non può corrispondere ad alcun carattere, e restituire il riferimento invariato mantiene l’input recuperabile invece di perderlo in silenzio. Lo stesso vale per ogni carattere che XML 1.0 non può proprio rappresentare — NUL, quasi tutti i caratteri di controllo, i non caratteri U+FFFE e U+FFFF: � e  tornano come sono scritti. Decodificarli ti restituirebbe un documento che nessun parser XML accetta.
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.