fixmint
IT

Codifica percentuale negli URL: cosa significano %20, + e %2F

Di · · aggiornato il 8 novembre 2026 · 5 min di lettura

La codifica percentuale scrive un carattere che un URL non può trasportare in sicurezza come un segno di percentuale seguito dal suo valore in byte in esadecimale. Uno spazio diventa %20, una e commerciale diventa %26 e una barra diventa %2F. La codifica protegge la struttura di un link, perché caratteri come & e = separano le parti di una query string.

Codifica e decodifica URLL'URL è pieno di codici %20Usalo gratis

Quali caratteri possono restare così come sono

Lo standard URI (RFC 3986), su cui si basano gli URL, lascia invariati alcuni caratteri: le lettere da A a Z e da a a z, le cifre e i quattro segni - _ . ~. Questi non richiedono mai una codifica. Gli altri caratteri hanno una funzione in un URL. I due punti separano lo schema dal resto, la barra separa le parti del percorso, il punto interrogativo avvia la query, il cancelletto avvia il frammento, e & e = dividono la query in nomi e valori. Un carattere con una funzione va codificato quando lo vuoi usare come dato e non come struttura.

Per questo lo stesso carattere può essere codificato in un punto e non in un altro. In un valore di query, la e commerciale deve diventare %26, altrimenti il link si spezza nel punto sbagliato. Nel percorso di un link, invece, è semplicemente un carattere.

Lettere non inglesi

Le lettere fuori dall'inglese di base si codificano nei loro byte UTF-8, e ogni byte viene scritto come codice percentuale. La é di café corrisponde ai due byte C3 e A9, quindi diventa %C3%A9, e l'intera parola diventa caf%C3%A9.

Un esempio semplice rende concrete le regole. Il testo a b&c=d/é, codificato come componente, diventa a%20b%26c%3Dd%2F%C3%A9. Ogni carattere che non sia una lettera, una cifra o un segno sicuro viene codificato: lo spazio, la e commerciale, il segno di uguale, la barra e la lettera accentata.

Componente o URL completo

Esistono due tipi di codifica, e non a caso. La codifica di componente tratta ogni carattere riservato come dato. Usala per un singolo valore, come un termine di ricerca o un nome di file dentro un link. Codificare "rock & roll" come termine di ricerca dà rock%20%26%20roll, quindi la e commerciale resta dentro il valore.

La codifica dell'URL completo conserva la struttura. Codificare https://example.com/a b dà https://example.com/a%20b, lasciando invariate le barre e i due punti. Usala per un indirizzo completo che deve diventare valido, non per un valore che va dentro un link.

Lo strumento URL ha un'impostazione Componente e una URL completo proprio per questo. La decodifica dell'URL completo mantiene anche i caratteri strutturali codificati, come %26 e %3D, così il link continua a funzionare dopo la decodifica.

Segni più e dati dei moduli

I moduli web usano una convenzione diversa. Quando un modulo viene inviato come dati di form, lo spazio viene scritto come + anziché %20. Un segno più letterale viene poi scritto come %2B. Quindi la frase C++ tips diventa C%2B%2B+tips nei dati del modulo, e C%2B%2B%20tips in una normale codifica di componente.

La decodifica presenta la stessa differenza. In una query string, + di solito significa uno spazio. Nel percorso di un link, + è un segno più. Lo strumento legge + come spazio solo quando è selezionata l'opzione Usa + per gli spazi (dati del modulo), quindi lasciala disattivata per i percorsi e per i valori in cui il segno più è reale.

Leggere una lunga query string

Un link spesso porta le sue impostazioni dopo il punto interrogativo. Prendi questo esempio:

https://shop.example/search?q=red%20shirt&size=M&tag=summer%2Bsale

Decodificato, dice che la ricerca riguarda red shirt, la taglia è M e il tag è summer+sale. Il %2B resta un segno più perché era stato codificato. Incolla il link nello strumento URL e vedrai elencato ogni nome e ogni valore già decodificati, il che rende facile leggere un link lungo. Se vuoi solo l'indirizzo più corto, senza le impostazioni di tracciamento, pulisci prima il link.

Doppia codifica

L'errore più comune è codificare due volte lo stesso valore. Codificare di nuovo il testo %20 dà %2520, perché anche il segno di percentuale viene codificato come %25. La pagina cerca allora un %20 letterale nel valore, e la ricerca o la pagina non corrispondono. Decodifica il link una volta, controlla il risultato e codifica un valore solo quando serve davvero.

Sequenze di escape non valide

Un segno di percentuale deve essere seguito da due cifre esadecimali, e le cifre devono formare un UTF-8 valido per le lettere accentate. Un link tagliato a metà, o un segno di percentuale digitato per errore in un testo, può lasciare una sequenza non valida come %E0%A4%A. Lo strumento decodifica ciò che può, lascia i byte non validi esattamente come sono scritti e segnala quanti non è riuscito a decodificare. Non si ferma al primo errore.

Casi particolari

  • Spazi in un link digitato a mano. La barra degli indirizzi del browser codifica gli spazi al posto tuo, ma un link copiato in un documento può ancora contenere spazi grezzi. Codificali prima di inviare il link.
  • Nomi di dominio non in inglese. Usano un sistema separato, il punycode, e codificare il percorso o la query non cambia il nome dell'host.
  • Metà di un'emoji. Una copia danneggiata può lasciare una singola metà di coppia surrogata, che non può essere codificata. Lo strumento la sostituisce con il simbolo di sostituzione e te lo segnala.
  • Base64 nei link. Un valore Base64 in un link segue regole proprie, con - e _ al posto di + e /. Vedi Base64 spiegato.

Come farlo con fixmint

  1. Incolla il testo o il link in Testo o URL.
  2. Scegli Codifica o Decodifica, poi Componente per un singolo valore, oppure URL completo per un intero indirizzo.
  3. Seleziona Usa + per gli spazi (dati del modulo) per i link copiati da un modulo web.
  4. Per un link, leggi Parametri della query, decodificati per vedere ogni nome e ogni valore.
  5. Copia il risultato.

Risposte rapide

Cosa significa %20?

Uno spazio. Il suo valore in byte è 20 in esadecimale.

Perché nel mio link c'è un + al posto di %20?

Il link probabilmente arriva da un modulo, dove + rappresenta uno spazio. L'opzione "Usa + per gli spazi (dati del modulo)" lo decodifica.

Perché vedo %2520 nel mio link?

Il valore è stato codificato due volte. Il segno di percentuale di %20 è stato codificato di nuovo come %25. Decodifica una volta per tornare a %20, e ancora una volta per ottenere lo spazio.

Tradotto dal Originale in inglese con l'assistenza dell'IA.

Commenti

    Nessun commento per ora. Sii il primo.

    La tua valutazione (facoltativa)

    La tua email non viene mai mostrata né conservata.

    Copertina di How to Remain Valuable When Intelligence Becomes CheapHow to Remain Valuable When Intelligence Becomes Cheap

    224 pagine sui vantaggi umani, economici e strategici che restano rari quando l'intelligenza artificiale può svolgere gran parte del lavoro cognitivo.

    $3.84Acquistalo su GumroadIn inglese