Come funziona
Ogni carattere esterno al set consentito viene scritto come segno di percentuale seguito da due cifre esadecimali del relativo byte UTF-8. encodeURIComponent esegue l'escape di tutto tranne A-Z a-z 0-9 - _ . ! ~ * ( ) mentre encodeURI mantiene intatta la punteggiatura dell'URL riservato.
- Utilizzare la modalità componente per i valori delle query; La modalità URL completo mantiene: /? & = intatto.
Perché è importante
Le stringhe di query si interrompono in modi sottili: un termine di ricerca contenente & crea silenziosamente un nuovo parametro, una barra all'interno di un nome file cambia il percorso e uno spazio finisce in un posto inaspettato. La codifica corretta fa la differenza tra un collegamento funzionante e un ticket di supporto.
Un esempio pratico
encodeURIComponent("a b&c") restituisce a%20b%26c, mentre encodeURI mantiene & perché tratta la stringa come un intero URL. Scegliere quello sbagliato cambia il punto in cui la query si divide.
Errori comuni
- Utilizzo della codifica dell'URL completo per un singolo valore di query.
- Mi aspetto che decodeURIComponent trasformi + in uno spazio; questa è la codifica del modulo.
- Codifica due volte e mi chiedo perché il server vede% 2520.
Consigli pratici
Codifica ciascun valore della query separatamente, quindi crea l'URL dalle parti codificate. Se un valore sembra già codificato, decodificalo una volta e ricodificalo dalla forma decodificata: la codifica ripetuta è la fonte più comune di bug in stile %25.
Come usarlo
- Apri lo strumento. Tutto viene eseguito nella scheda del tuo browser.
- Incolla o digita il tuo input, quindi scegli l'azione che ti serve.
- Controlla il risultato e copialo con un clic.
Domande comuni
Quando utilizzo il componente anziché l'URL completo?
Componente per un singolo valore di query, dove /? & = deve essere sfuggito. L'URL completo mantiene intatti i separatori.
Perché gli spazi diventano %20?
La codifica percentuale rappresenta uno spazio come %20. Il modulo + appartiene alla codifica dei moduli HTML, non agli URL.
Perché la decodifica lascia segni +?
decodeURIComponent non tratta + come uno spazio. Sostituisci prima + con uno spazio se il valore proviene dall'invio di un modulo.
Questo strumento è davvero gratuito?
SÌ. Non esiste alcun account, nessun paywall e nessun limite di utilizzo. L'app Tools è finanziata da aumenso, lo studio dietro di essa.
Tutto ciò che inserisco è stato caricato?
No. Lo strumento viene eseguito nella scheda del browser; ciò che inserisci non ci viene mai inviato e mai archiviato.