Besplatni pretvarač

URL koder / Dekoder

Kodirajte i dekodirajte URL-ove i URI komponente odmah u svom pregledniku. Besplatno, privatno i nije potrebno učitavanje.

Ili

O ovom alatu

URL kodiranje (formalno postotno kodiranje, definirano u RFC 3986) prevodi znakove koji imaju posebno značenje u URL-ovima - razmake, kose crte, ampersande, hash oznake - u siguran oblik pomoću znakova postotka iza kojih slijede heksadecimalne znamenke. Znak za razmak postaje %20 (ili + u kontekstima kodiranim oblikom), ampersand postaje %26, i tako dalje. Bez ovog kodiranja, posebni znakovi bi se tumačili kao sintaksa URL-a, a ne kao doslovni podaci, kvareći URL ili uzrokujući nenamjerno ponašanje.

Postoje dva povezana, ali različita kodiranja. Standardno kodiranje komponente URL-a koristi %-escape znakove za sve izvan nerezerviranog skupa znakova: A-Z, a-z, 0-9, crtica, podvlaka, točka, tilda. Formalno kodirana varijanta (application/x-www-form-urlencoded) dodatno tretira razmake kao znakove plus i koristi drugačija pravila za neke druge znakove. JavaScriptov encodeURIComponent koristi striktno kodiranje komponente; encodeURI koristi dopušteniji oblik koji čuva znakove URL strukture.

Ovaj alat nudi i kodiranje i dekodiranje. Način kodiranja omata svaki znak koji zahtijeva izlaz u %HH format; način dekodiranja poništava transformaciju. Oba se u potpunosti pokreću u vašem pregledniku pomoću ugrađenih JavaScript URL funkcija, tako da se podaci ne šalju nigdje.

Zašto kodirati ili dekodirati URL-ove

Svaki put kada su podaci uključeni u URL - parametri niza upita, segmenti puta koji sadrže korisnički unos, ciljevi preusmjeravanja - potrebno je odgovarajuće kodiranje. Neuspješno kodiranje proizvodi URL-ove koji se prekidaju kada se pojave posebni znakovi, propuštaju granice parametara nizovima upita (pretvarajući &x=1 u zaseban parametar) ili ih web poslužitelji blokiraju kao neispravne zahtjeve.

Dekodiranje je obrnuto: izvlačenje izvornih podataka iz kodiranog URL-a. Adresne trake preglednika često prikazuju URL-ove u kodiranom obliku; dekodiranje otkriva što se zapravo namjeravalo. Zapisivanje, otklanjanje pogrešaka i sigurnosna analiza imaju koristi od dekodiranih URL-ova koji prikazuju izvorne parametre i staze.

Kako koristiti

Zalijepite niz, odaberite smjer.

  1. Odaberite kodiranje ili dekodiranje: Kodiranje prelomi nesigurne znakove u %HH format. Dekodiranje obrće %HH bježi natrag u doslovne znakove.
  2. Dodaj tekst za unos: Zalijepite niz za kodiranje ili dekodiranje. Za kodiranje, to je obično doslovna vrijednost s razmacima, posebnim znakovima ili sadržajem koji nije ASCII. Za dekodiranje, ovo je URL ili URL komponenta koja sadrži %HH izlaze.
  3. pretvoriti: Alat primjenjuje encodeURIComponent ili decodeURIComponent. Kodirani izlaz sigurno je ugraditi u URL; dekodirani izlaz je izvorna literalna vrijednost.
  4. Kopirajte ili preuzmite: Koristite rezultat gdje god vam je potreban. Kodirane vrijednosti uklapaju se u URL-ove; dekodirane vrijednosti otkrivaju izvorne podatke.

Uobičajeni slučajevi upotrebe

Tehnički detalji

encodeURIComponent kodira svaki znak izvan nerezerviranog skupa [A-Za-z0-9-_.~]. Razmaci postaju %20, znakovi plus postaju %2B, znakovi jednakosti postaju %3D itd. Znakovi izvan ASCII-ja prvo se kodiraju u UTF-8, a zatim se svaki bajt %-escaped-a.

encodeURI je permisivniji i namijenjen je punim URL-ovima, a ne komponentama. Ne izbjegava /, ?, &, =, # i nekoliko drugih jer ti znakovi imaju značenje sintakse URL-a. Za ugrađivanje korisničkih podataka u URL, encodeURIComponent je gotovo uvijek pravi izbor.

decodeURIComponent preokreće %-izbjegavanje, potvrđujući da je svaki izlaz dobro oblikovan i da rezultirajući bajtovi tvore valjani UTF-8. Neispravan unos stvara pogrešku umjesto da proizvodi smeće.

Najbolji primjeri iz prakse

Često postavljana pitanja

Koji znakovi trebaju URL kodiranje?
Rezervirani znakovi (&, =, ?, #, /, :, @) i nesigurni znakovi (razmaci, <, >, {, }, |, ^, ~, [, ], `) moraju biti kodirani. Alfanumerički znakovi i -_.~ sigurni su i ne trebaju kodiranje.
Koja je razlika između encodeURI i encodeURIComponent?
encodeURI kodira cijeli URL, ali zadržava rezervirane znakove (://?#). encodeURIComponent kodira sve osim -_.!~*'() — koristite ga za vrijednosti parametara upita. Ovaj alat nudi oba načina.
Kako su razmaci kodirani u URL-ovima?
Razmaci se mogu kodirati kao %20 (standardno postotno kodiranje) ili + (kodiranje obrasca). %20 je ispravno za URL staze, dok se + koristi u nizovima upita iz HTML obrazaca. Ovaj alat prema zadanim postavkama koristi %20.
Mogu li kodirati Unicode znakove?
da Unicode znakovi prvo se kodiraju u UTF-8 bajtove, a zatim se svaki bajt postotno kodira. Na primjer, '日' postaje %E6%97%A5 (tri UTF-8 bajta, svaki postotno kodiran).
Trebam li koristiti encodeURI ili encodeURIComponent?
Gotovo uvijek kodirajURIComponentu. Upotrijebite encodeURI samo ako imate potpuni URL i želite sačuvati njegovu strukturu — obično rijetko jer URL-ove ionako gradite od komponenti.
Jesu li moji podaci učitani na poslužitelj?
Ne. URL kodiranje i dekodiranje u potpunosti se odvija u vašem pregledniku.
Obrađuje li Unicode emoji?
da Emoji su višebajtni UTF-8 nizovi; koder proizvodi lanac %-escaped bajtova koje dekoderi ispravno ponovno sastavljaju natrag u izvorni emoji.
Što ako moj unos sadrži nizove koji izgledaju kao %HH koji zapravo nisu kodirani?
Kodiranje pretvara svaki % u %25, a zatim ponovno primjenjuje escape za ostatak. Dekodiranje strogog unosa izbacuje pogreške na krivo oblikovane izlaze; nizovi dvosmislenog izgleda mogu se pogrešno dekodirati.