Inserisca testo da codificare per URL, o incolli testo codificato da decodificare.
?Codifica converte il testo leggibile in formato URL sicuro con codifica percentuale. Decodifica inverte il processo.
?Componente: codifica tutti i caratteri speciali (ideale per valori di query). URL Completo: preserva la struttura come :/?#. Modulo: usa + per gli spazi (formato application/x-www-form-urlencoded).
?Quando attivo, l'output si aggiorna durante la digitazione. Disattiva per testi grandi e usa Ctrl+Invio per elaborare manualmente.
Input
Output
Questo testo sembra essere già codificato in percentuale. Codificarlo di nuovo produrrà doppia codifica (es., %20 diventa %2520). Considera di passare alla modalità Decodifica.
Come usare
Inserisca testo da codificare per uso URL, o incolli testo percent-encoded da decodificare.
Scelga Componente per i parametri di query, URL Completo per la struttura, o Modulo per il formato application/x-www-form-urlencoded.
Visualizza il risultato aggiornato in tempo reale e copia l'output codificato/decodificato.
Pubblicità
Informazioni su questo strumento
La codifica URL, formalmente nota come codifica percentuale, è il meccanismo attraverso il quale i caratteri speciali vengono trasformati in un formato che può essere trasmesso in sicurezza all'interno degli Uniform Resource Identifier (URI). Definita nell'RFC 3986, questa specifica garantisce che ogni carattere in un indirizzo web sia inequivocabile e correttamente interpretato da browser, server e sistemi intermedi.
I caratteri al di fuori dell'insieme non riservato—lettere, cifre, trattini, punti, underscore e tilde—devono essere rappresentati come un segno di percentuale seguito da due cifre esadecimali corrispondenti al valore in byte del carattere.
Il concetto di URI è stato formalizzato da Tim Berners-Lee nel 1994 come parte dell'architettura fondamentale del World Wide Web. Poiché la specifica URI originale era limitata al set di caratteri ASCII (solo 128 caratteri), era necessario un meccanismo per rappresentare la vasta gamma di caratteri utilizzati nelle lingue umane di tutto il mondo.
La codifica percentuale ha colmato questa lacuna convertendo ogni byte di un carattere codificato in UTF-8 nella sua rappresentazione esadecimale preceduta da %.
Man mano che il web diventava veramente globale, la necessità di caratteri non-ASCII negli indirizzi web ha portato allo sviluppo degli Internationalized Resource Identifier (IRI), definiti nell'RFC 3987. Gli IRI estendono la sintassi URI per consentire caratteri Unicode direttamente in determinati componenti, pur continuando a fare affidamento sulla codifica percentuale quando l'indirizzo deve essere trasmesso tramite protocolli che supportano solo ASCII.
I browser moderni mostrano gli IRI in forma decodificata per la leggibilità, ma li convertono in URI codificati per le richieste di rete.
Questo strumento implementa le operazioni di codifica e decodifica interamente nel Suo browser utilizzando le funzioni native di JavaScript, garantendo che i Suoi dati non vengano mai trasmessi a nessun server. Supporta sia la codifica a livello di componente per valori di query individuali sia la codifica URL completa che preserva i delimitatori strutturali di un indirizzo web.
La codifica percentuale emerse da un vincolo fondamentale dei primi tempi di internet: la limitazione ASCII. Quando Tim Berners-Lee progetto la sintassi URL nel 1994, la specifica dell'Uniform Resource Locator (RFC 1738) limitava gli indirizzi web a un piccolo sottoinsieme di caratteri ASCII. Questo aveva senso per l'internet prevalentemente anglofono dei primi anni '90, ma significava che qualsiasi carattere al di fuori di questo insieme sicuro necessitava di un meccanismo di rappresentazione.
La soluzione fu elegantemente semplice: rappresentare ogni byte non sicuro come un segno di percentuale seguito dal suo valore esadecimale a due cifre. Uno spazio (valore byte 32, hex 20) diventa %20, un punto interrogativo (valore 63, hex 3F) diventa %3F. Questo schema poteva rappresentare qualsiasi valore byte da 00 a FF, rendendolo capace di codificare qualsiasi carattere in qualsiasi set di caratteri.
L'introduzione di UTF-8 come codifica standard dei caratteri del web trasformo la codifica percentuale da un semplice schema di mappatura byte a un sistema di codifica multi-byte. Un singolo carattere cinese può richiedere tre byte in UTF-8, producendo tre triplette consecutive. Il simbolo dell'euro, ad esempio, occupa tre byte (E2, 82, AC) e diventa la sequenza di sei caratteri %E2%82%AC. Ecco perché gli URL codificati contenenti testo non latino possono apparire notevolmente più lunghi.
RFC 3986, pubblicato nel 2005, perfeziono la specifica URL originale e formalizzo le regole moderne per la codifica percentuale. Stabili il concetto di insiemi di caratteri riservati e non riservati, chiarendo quali servono come delimitatori strutturali negli URL. Questa distinzione spiega perché esistono due funzioni di codifica in JavaScript: encodeURI preserva i caratteri strutturali per URL completi, mentre encodeURIComponent codifica tutto per un inserimento sicuro nei componenti URL. La specifica introdusse anche il principio della normalizzazione, definendo quando due URL codificati diversamente devono essere considerati equivalenti.
Come usare
Inserisca testo da codificare per uso URL, o incolli testo percent-encoded da decodificare.
Scelga Componente per i parametri di query, URL Completo per la struttura, o Modulo per il formato application/x-www-form-urlencoded.
Visualizza il risultato aggiornato in tempo reale e copia l'output codificato/decodificato.
Metodologia
La codifica URL sostituisce i caratteri ASCII non sicuri con un segno di percentuale (%) seguito da due cifre esadecimali che rappresentano il valore in byte del carattere.
Ad esempio, uno spazio diventa %20 (hex 20 = decimale 32), una e commerciale diventa %26 è un segno più diventa %2B. La codifica segue RFC 3986, che definisce l'insieme dei caratteri non riservati che non necessitano mai di codifica: lettere maiuscole e minuscole (A-Z, a-z), cifre (0-9) e quattro caratteri speciali (trattino, punto, underscore, tilde).
Questo strumento fornisce due modalità di codifica che corrispondono direttamente alle funzioni native di JavaScript. La modalità Componente usa encodeURIComponent(), che codifica ogni carattere tranne l'insieme non riservato, rendendola ideale per i valori dei parametri di query dove caratteri come & e = devono essere sottoposti a escape.
La modalità URL Completo usa encodeURI(), che preserva inoltre i caratteri strutturali dell'URL come : / ? # [ ] @ ! $ & ' ( ) * + , ; = affinché un URL completo rimanga funzionale dopo la codifica.
Per i caratteri internazionali e gli emoji, lo strumento converte prima il testo nella sua rappresentazione in byte UTF-8, poi codifica ogni byte individualmente. Un singolo carattere Unicode come il simbolo dell'euro può produrre più triplette codificate (%E2%82%AC) perché UTF-8 usa una codifica a lunghezza variabile da uno a quattro byte per carattere.
Usi la modalità Componente (encodeURIComponent) ogni volta che codifica un valore che sarà posizionato dopo un segno di uguale in una stringa di query. Questo assicura che caratteri come &, = e # all'interno del Suo valore non rompano accidentalmente la struttura dell'URL. Usi la modalità URL Completo (encodeURI) quando ha un URL completo e vuole codificare solo spazi e caratteri non-ASCII mantenendo intatti i delimitatori strutturali.
Se vede %25 nel Suo output, significa che il segno di percentuale stesso e stato codificato, il che tipicamente indica una doppia codifica—l'input era già codificato prima dell'elaborazione. Decodificare tali stringhe due volte recuperera il testo originale. Questo e uno degli errori di codifica URL più comuni nelle applicazioni web e nelle API.
La decodifica e utile per rendere gli URL leggibili durante il debugging, analizzare i log del server o ispezionare i parametri di query che contengono valori codificati. I nomi di dominio internazionali (IDN) usano una codifica diversa chiamata Punycode invece della codifica percentuale, quindi i nomi di dominio con caratteri non latini richiedono una gestione separata. Codifichi sempre l'input dell'utente prima di inserirlo negli URL per prevenire attacchi di iniezione.
Esempi pratici
Parametro di query di ricerca: codificare 'coffee & tea' in modalità Componente produce 'coffee%20%26%20tea', facendo escape in sicurezza sia degli spazi che della e commerciale affinché il server riceva il testo letterale. Invio di modulo: un utente inserisce 'price=50$', che deve essere codificato come 'price%3D50%24' per impedire che il segno di uguale venga interpretato come separatore chiave-valore.
URL di redirect API: quando si passa un URL di callback come 'https://app.com/auth?token=abc' come parametro a un altro URL, la modalità Componente codifica l'intero callback inclusa la propria stringa di query. Contenuto multilingue: la codifica di testo giapponese produce sequenze di byte UTF-8 come triplette percentuali.
Decodifica di debug: incolli un URL completo dai log del server e lo decodifichi per vedere istantaneamente la query originale per una rapida risoluzione dei problemi.
Consigli e Buone Pratiche
Usi sempre la modalità Componente quando codifica singoli valori di parametri di query. La modalità URL Completo lascia i caratteri strutturali come & e = non codificati, il che rompera il Suo URL se quei caratteri appaiono nei dati stessi invece che come delimitatori.
Eviti la doppia codifica controllando se il Suo input e già percent-encoded. Se vede sequenze come %20 o %26 nell'input, decodifichi prima di ricodificare per prevenire l'impilamento (dove %20 diventa %2520).
Quando costruisca URL programmaticamente, codifichi ogni valore di parametro separatamente e poi assembli l'URL completo. Non codificare mai l'intera stringa URL in una volta, poiché questo corromperebbe i caratteri strutturali che separano schema, host, percorso e componenti di query.
Per il debugging delle chiamate API, incolli l'URL codificato completo in modalità decodifica per leggere rapidamente tutti i valori dei parametri in forma leggibile. Questo e particolarmente utile quando si risolvono problemi con URL di webhook o redirect OAuth che contengono valori codificati annidati.
Qual è la differenza tra modalità Componente e URL Completo?
La modalità Componente (encodeURIComponent) codifica TUTTI i caratteri speciali inclusi : / ? # e altri. La modalità URL Completo (encodeURI) preserva i caratteri di struttura dell'URL.
Quali caratteri vengono codificati?
In modalità Componente, tutto tranne lettere (A-Z, a-z), numeri (0-9) e - _ . ~ viene codificato.
Posso codificare più valori contemporaneamente?
Sì! Inserisca più valori su righe separate e ogni riga verrà codificata separatamente.
Perché devo codificare gli URL?
Gli URL possono contenere solo determinati caratteri ASCII. Caratteri speciali come spazi, & e = devono essere codificati per essere elaborati correttamente da browser e server.
Quale standard segue questo strumento per la codifica URL?
Questo strumento implementa la codifica percentuale definita nell'RFC 3986 (Uniform Resource Identifier: Generic Syntax). Usa le funzioni JavaScript integrate encodeURIComponent() per la modalità componente e encodeURI() per la modalità URL completo, entrambe conformi alla specifica RFC 3986. I caratteri vengono codificati come segno percentuale seguito dai loro valori di byte UTF-8 in esadecimale (es. uno spazio diventa %20).
Questo strumento gestisce caratteri internazionali ed emoji?
Sì. Lo strumento supporta completamente la codifica UTF-8, il che significa che i caratteri internazionali (lettere accentate, cinese, arabo, giapponese, coreano, ecc.) e gli emoji vengono correttamente codificati come sequenze percentuali multi-byte. Ad esempio, il segno dell'euro diventa %E2%82%AC e gli emoji vengono codificati come sequenze UTF-8 a 4 byte. La decodifica ripristina perfettamente i caratteri originali.
Cos'è la modalità di codifica Modulo e quando dovrei usarla?
La modalità Modulo utilizza il formato application/x-www-form-urlencoded, lo standard per l'invio di moduli HTML e i corpi delle richieste POST. La differenza chiave dalla modalità Componente è che gli spazi vengono codificati come + (segno più) invece di %20. Questo formato è utilizzato dai browser quando inviano moduli HTML, da molte implementazioni OAuth per le richieste di token e in alcune stringhe di query API. Usi la modalità Modulo quando deve riprodurre esattamente ciò che un browser invia in un POST di modulo, o quando un'API richiede specificamente il formato application/x-www-form-urlencoded. Per la codifica URL generale, la modalità Componente è solitamente la scelta migliore.
I miei preferiti
Trascina per riordinare
Ancora nessun preferito
Tocca la ☆ su qualsiasi strumento per aggiungerlo ai preferiti.