Cosa fa questo strumento
Ogni sequenza %XX diventa il byte che quelle due cifre indicano, e i byte risultanti vengono letti come testo UTF-8. caf%C3%A9 dà café, perché la lettera accentata occupa due byte.
Le cifre esadecimali funzionano sia maiuscole sia minuscole.
Il segno più è il punto da sapere
Un più resta un più. È corretto — e probabilmente non è ciò che ti aspettavi, quindi vale la pena dire perché con precisione.
Due codifiche si somigliano e divergono su esattamente un carattere:
- quella percentuale, usata in un percorso URL e in una query string moderna, scrive lo spazio come
%20e tratta+come un più letterale; - quella da modulo (
application/x-www-form-urlencoded), ciò che invia un form HTML, scrive lo spazio come+.
Questo strumento applica la prima, come decodeURIComponent nel browser.
Nulla nella stringa dice quale l’abbia prodotta. Uno strumento che indovinasse corromperebbe l’altro caso: un più è un carattere legittimo in un indirizzo e-mail, in un numero di telefono, in un termine di ricerca. Trasformare ogni più in spazio distruggerebbe quei valori con la stessa certezza con cui lasciarli intatti scomoda i dati da modulo.
Quindi, se il tuo input viene da un modulo, sostituisci prima + con %20. Un trova-e-sostituisci, e il risultato è giusto.
Cosa rifiuta
Un segno di percentuale non seguito da due cifre esadecimali. 100% non è decodificabile: non c’è byte da produrre, e inventarne uno sarebbe peggio di un errore. La forma codificata correttamente è 100%25.
Anche una sequenza %XX che non formi UTF-8 valido viene rifiutata anziché sostituita da un segnaposto: così scopri che l’input è danneggiato, invece di leggere un testo che non è mai esistito.
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.