Toolverse

Codificatore URL / Decodificatore

Codifica il testo per l'uso negli URL e nelle stringhe di query, o decodifica gli URL codificati in percentuale per tornare al testo leggibile — con supporto Unicode completo, tutto nel browser.

Output

Come usarlo

Scegli Codifica o Decodifica e incolla il testo o l'URL. Per impostazione predefinita, codifica un singolo valore (escape dei caratteri come & = ? /). Attiva "URI completo" per mantenere intatta la struttura di un URL e escape solo dei caratteri non sicuri. Fai clic su copia per ottenere il risultato. La codifica URL, chiamata anche percent-encoding, è il modo standard per rendere il testo sicuro da inserire all'interno di un URL o di una stringa di query. Qualsiasi carattere al di fuori di un piccolo insieme di caratteri ASCII riservati e non riservati viene sostituito con un segno di percentuale seguito da due cifre esadecimali che rappresentano il valore byte di quel carattere — uno spazio diventa %20, un'e commerciale diventa %26, e così via. Gli URL consentono solo un insieme limitato di caratteri ASCII: lettere, cifre e una manciata di segni di punteggiatura come - _ . ~. Tutto il resto, inclusi spazi, virgolette e lettere non inglesi, deve essere escape prima che possa viaggiare in sicurezza all'interno di un URL. Senza codifica, un browser o un server potrebbe fraintendere dove una parte di un URL finisce e un'altra inizia — un & non escape all'interno di un valore sembra l'inizio di un nuovo parametro di query, un ? non escape sembra l'inizio della stringa di query stessa, e un # non escape viene trattato come un identificatore di frammento, interrompendo silenziosamente tutto dopo di esso. Prendere la frase "café & bar" come valore di query di esempio. Gli spazi diventano %20, l'e commerciale diventa %26, e la á accentata — che occupa due byte in UTF-8 — diventa %C3%A9. Codificata in percentuale, la frase diventa caf%C3%A9%20%26%20bar. La decodifica inverte il processo: ogni coppia %XX viene letta nuovamente come un byte UTF-8 e riassemblata nel carattere originale, quindi decodificare quella stringa restituisce café & bar esattamente come era iniziato. La codifica di un intero URL e la codifica di un singolo valore di stringa di query sono lavori diversi. La codifica full-URI escape dei caratteri non sicuri ma lascia deliberatamente intatti i caratteri strutturali di un URL — / : ? & = # — poiché rimuoverli romperebbe la sintassi dello stesso URL. La codifica del componente (impostazione predefinita qui) esegue l'escape di quegli stessi caratteri anche, perché un valore inserito in una stringa di query non dovrebbe mai essere autorizzato a introdurre uno & o = errato che un server scambierebbe per un nuovo parametro. Percent-encoding appare costantemente nel lavoro web quotidiano: costruire un parametro di query dall'input dell'utente, condividere un link che include un termine di ricerca o un filtro, assemblare URL di richieste API, inviare dati di modulo tramite GET e costruire parametri UTM per i link di marketing. È anche la correzione per l'errore classico "malformed URI" generato da decodeURIComponent — quell'errore significa che la stringa in fase di decodifica contiene una % che non è seguita da due cifre hex valide, solitamente perché è stata codificata in modo non corretto o codificata due volte.

Domande frequenti

Qual è la differenza tra la codifica di un componente e un URI completo?
La codifica del componente (impostazione predefinita) esegue l'escape dei caratteri riservati come & = ? /, quindi è giusta per un singolo valore di query. La codifica full-URI lascia questi caratteri al loro posto, quindi è giusta per un intero URL.
Gestisce i caratteri non inglesi?
Sì. Il testo viene codificato in percentuale come UTF-8, quindi gli accenti, gli emoji e i caratteri CJK vengono codificati e decodificati correttamente.
Che cosa succede se incolla testo codificato non valido?
Se uno escape percentuale è malformato (come una % solitaria), la decodifica mostra un errore invece di produrre spazzatura.
Perché uno spazio a volte diventa %20 e altre volte +?
Entrambi rappresentano uno spazio, ma in contesti diversi. Percent-encoding (RFC 3986) usa sempre %20, che è quello che questo strumento produce. Il carattere + è una convenzione legacy del formato application/x-www-form-urlencoded più vecchio utilizzato dagli invii di moduli HTML, dove + significa spazio e un segno più letterale deve essere codificato come %2B.