Codifica / decodifica URL

Codifica o decodifica URL e testo con la codifica percentuale.

Il modulo interattivo è disponibile quando JavaScript è attivo.

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%20world
  • a&b=c come valore singoloa%26b%3Dc
  • cafécaf%C3%A9
  • https://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.

Strumenti correlati