Brezplačni pretvornik

URL Encoder / Dekoder

Kodirajte in dekodirajte URL-je in komponente URI takoj v brskalniku. Brezplačno, zasebno in ni potrebno nalaganje.

oz

O tem orodju

Kodiranje URL-jev (formalno kodiranje odstotkov, opredeljeno v RFC 3986) prevede znake, ki imajo v URL-jih poseben pomen – presledke, poševnice, znake &, razpršitve – v varno obliko z uporabo znakov za odstotke, ki jim sledijo šestnajstiške številke. Presledek postane %20 (ali + v kontekstih, kodiranih z obrazcem), ampersand postane %26 itd. Brez tega kodiranja bi bili posebni znaki interpretirani kot sintaksa URL-ja in ne kot dobesedni podatki, ki bi kršili URL ali povzročili nenamerno vedenje.

Obstajata dve povezani, vendar različni kodiranju. Standardno kodiranje komponente URL uporablja ubežne znake % za vse, kar je zunaj nerezerviranega nabora znakov: A-Z, a-z, 0-9, vezaj, podčrtaj, pika, tilda. Oblikovno kodirana različica (application/x-www-form-urlencoded) dodatno obravnava presledke kot znake plus in uporablja drugačna pravila za nekatere druge znake. encodeURIComponent JavaScripta uporablja kodiranje stroge komponente; encodeURI uporablja bolj permisivno obliko, ki ohranja znake strukture URL-ja.

To orodje omogoča tako kodiranje kot dekodiranje. Način kodiranja ovije vsak znak, ki zahteva ubežanje, v format %HH; način dekodiranja obrne transformacijo. Oba delujeta v celoti v vašem brskalniku z uporabo vgrajenih funkcij JavaScript URL, tako da se podatki ne pošljejo nikamor.

Zakaj kodirati ali dekodirati URL-je

Kadar koli so podatki vključeni v URL – parametri poizvedbenega niza, segmenti poti, ki vsebujejo uporabniški vnos, cilji preusmeritve – je potrebno ustrezno kodiranje. Če kodiranja ni, se URL-ji prekinejo, ko se pojavijo posebni znaki, meje parametrov uhajajo v poizvedbene nize (pretvorba &x=1 v ločen parameter) ali pa jih spletni strežniki blokirajo kot napačno oblikovane zahteve.

Dekodiranje je obratno: ekstrahiranje izvirnih podatkov iz kodiranega URL-ja. Naslovne vrstice brskalnika pogosto prikazujejo URL-je v kodirani obliki; dekodiranje razkrije, kaj je bilo dejansko mišljeno. Beleženje, odpravljanje napak in varnostna analiza imajo koristi od dekodiranih URL-jev, ki prikazujejo izvirne parametre in poti.

Kako uporabljati

Prilepite niz, izberite smer.

  1. Izberite kodiranje ali dekodiranje: Encode zavije nevarne znake v format %HH. Dekodiranje obrne %HH pobegne nazaj v dobesedne znake.
  2. Dodajte vnosno besedilo: Prilepite niz za kodiranje ali dekodiranje. Za kodiranje je to običajno dobesedna vrednost s presledki, posebnimi znaki ali vsebino, ki ni ASCII. Za dekodiranje je to URL ali komponenta URL, ki vsebuje ubežne oznake %HH.
  3. Pretvori: Orodje uporablja encodeURIComponent ali decodeURIComponent. Kodiran izhod je varno vdelati v URL; dekodirani izhod je izvirna literalna vrednost.
  4. Kopirajte ali prenesite: Uporabite rezultat, kjer koli ga potrebujete. Kodirane vrednosti se prilegajo URL-jem; dekodirane vrednosti razkrivajo izvirne podatke.

Pogosti primeri uporabe

Tehnične podrobnosti

encodeURIComponent kodira vsak znak zunaj nerezerviranega nabora [A-Za-z0-9-_.~]. Presledki postanejo %20, znaki plus postanejo %2B, znaki enakosti postanejo %3D itd. Znaki zunaj ASCII so najprej kodirani v UTF-8, nato pa je vsak bajt %-ubežni.

encodeURI je bolj dovoljen in je namenjen polnim URL-jem in ne komponentam. Ne uide /, ?, &, =, # in nekaterim drugim, ker imajo ti znaki sintaktični pomen URL-ja. Za vdelavo uporabniških podatkov v URL je encodeURIComponent skoraj vedno prava izbira.

decodeURIComponent obrne %-ubežne kode, s čimer potrdi, da je vsak ubežni signal dobro oblikovan in da nastali bajti tvorijo veljaven UTF-8. Nepravilno oblikovan vnos povzroči napako namesto smeti.

Najboljše prakse

Pogosta vprašanja

Kateri znaki potrebujejo kodiranje URL-ja?
Rezervirani znaki (&, =, ?, #, /, :, @) in nevarni znaki (presledki, <, >, {, }, |, ^, ~, [, ], `) morajo biti kodirani. Alfanumerični znaki in -_.~ so varni in jih ni treba kodirati.
Kakšna je razlika med encodeURI in encodeURIComponent?
encodeURI kodira celoten URL, vendar ohrani rezervirane znake (://?#). encodeURIComponent kodira vse razen -_.!~*'() — uporabite ga za vrednosti parametrov poizvedbe. To orodje ponuja oba načina.
Kako so presledki kodirani v URL-jih?
Presledke je mogoče kodirati kot %20 (standardno odstotno kodiranje) ali + (kodiranje oblike). %20 je pravilen za poti URL, medtem ko se + uporablja v poizvedbenih nizih iz obrazcev HTML. To orodje privzeto uporablja %20.
Ali lahko kodiram znake Unicode?
ja Znaki Unicode so najprej kodirani v bajte UTF-8, nato pa je vsak bajt kodiran v odstotkih. Na primer, '日' postane %E6%97%A5 (trije bajci UTF-8, vsak odstotno kodiran).
Ali naj uporabim encodeURI ali encodeURIComponent?
Skoraj vedno encodeURIComponent. Uporabite encodeURI samo, če imate popoln URL in želite ohraniti njegovo strukturo – običajno redko, saj URL-je vseeno sestavljate iz komponent.
Ali so moji podatki naloženi na strežnik?
Ne. Kodiranje in dekodiranje URL-jev poteka v celoti v vašem brskalniku.
Ali podpira Unicode emoji?
ja Emoji so večbajtna zaporedja UTF-8; kodirnik ustvari verigo %-ubežnih bajtov, ki jih dekoderji pravilno ponovno sestavijo nazaj v prvotni emoji.
Kaj pa, če ima moj vnos nize, ki izgledajo kot %HH, ki dejansko niso kodirani?
Kodiranje spremeni vsak % v %25, nato pa ponovno uporabi ubežanje za ostalo. Dekodiranje strogega vnosa vrže napake pri napačno oblikovanih ubežih; nizi dvoumnega videza se lahko dekodirajo nepravilno.