Codifica / decodifica URL
Codifica o decodifica URL e testo con la codifica percentuale.
Come si usa
La codifica percentuale sostituisce i caratteri che hanno un significato dentro un URL, come spazi, &, ?, # e lettere accentate, con un % seguito dai valori dei loro byte, così il testo sopravvive a copia-incolla, log e analisi. Incolla il testo e scegli «Codifica» o «Decodifica»; il risultato compare sotto, con un pulsante «Copia».
«Codifica» tratta tutto ciò che incolli come un unico valore, nel modo in cui va codificato un singolo parametro di query o un segmento di percorso. Restano invariati solo lettere, cifre e - _ . ! ~ * ' ( ); tutto il resto viene codificato, compresi : / ? # & e =. È esattamente ciò che serve a un valore, ma non è il modo giusto di codificare un indirizzo intero: https://example.com/a b diventa https%3A%2F%2Fexample.com%2Fa%20b, che non funziona più come link. Codifica le parti che ne hanno bisogno e lascia intatti i separatori.
I caratteri al di fuori dell’ASCII semplice vengono prima convertiti in UTF-8 e poi codificati byte per byte, quindi é diventa %C3%A9 e un’emoji come 😀 diventa quattro codici % (%F0%9F%98%80).
«Decodifica» riconverte i codici % in testo. Un + resta un +, perché il più vale spazio solo nei dati dei moduli in formato form-urlencoded; e un % non seguito da due cifre esadecimali valide, come in 100%, non può essere decodificato e viene segnalato come non valido. Tutto avviene nel tuo browser.
Esempio
Gli spazi diventano %20 e i caratteri riservati vengono codificati con percentuali. La decodifica recupera il testo originale.
hello worldhello%20worlda&b=c come valore singoloa%26b%3Dccafécaf%C3%A9https://example.com/?q=1https%3A%2F%2Fexample.com%2F%3Fq%3D1: va bene come valore dentro un altro URL, è sbagliato come link a sé stante.a+b%20c → «Decodifica»a+b c: il %20 diventa uno spazio, il + resta.
Domande frequenti
Perché a volte vedo + al posto di %20?
Il più vale spazio solo nel formato form-urlencoded usato dall’invio dei moduli HTML. Altrove in un URL il più è un più letterale, ed è per questo che questo strumento codifica uno spazio come %20 e lascia invariato un + in decodifica.
Perché una lettera accentata diventa sei caratteri?
Viene prima convertita in UTF-8 e poi codificata byte per byte. La lettera é occupa due byte, quindi diventa %C3%A9.
Perché la decodifica non riesce?
Di solito perché il testo contiene un % che non fa parte di un carattere codificato, come in 100%, oppure una sequenza che non è UTF-8 valido. Codifica prima il % isolato come %25.
Devo codificare un URL intero prima di condividerlo?
No. Un URL che funziona già va condiviso così com’è; codificarlo di nuovo trasforma i suoi separatori in codici e lo rende inutilizzabile. Vanno codificati solo i valori inseriti dentro un URL.