Bezplatný prevodník

URL Encoder / Dekodér

Kódujte a dekódujte adresy URL a komponenty URI okamžite vo svojom prehliadači. Bezplatné, súkromné ​​a nevyžaduje sa žiadne nahrávanie.

Alebo

O tomto nástroji

Kódovanie adresy URL (formálne kódovanie percent, definované v RFC 3986) prekladá znaky, ktoré majú v adresách URL špeciálny význam – medzery, lomky, ampersandy, značky hash – do bezpečnej formy pomocou znakov percent, za ktorými nasledujú hexadecimálne číslice. Znak medzery sa zmení na %20 (alebo + v kontextoch zakódovaných vo forme), ampersand na %26 atď. Bez tohto kódovania by sa špeciálne znaky interpretovali ako syntax adresy URL, a nie ako doslovné údaje, ktoré by poškodili adresu URL alebo spôsobili neúmyselné správanie.

Existujú dve súvisiace, ale odlišné kódovania. Štandardné kódovanie komponentu URL používa %-escape pre všetko mimo nevyhradenej znakovej sady: A-Z, a-z, 0-9, spojovník, podčiarkovník, bodka, vlnovka. Variant s kódovaním formulára (application/x-www-form-urlencoded) navyše považuje medzery za znamienka plus a pre niektoré ďalšie znaky používa iné pravidlá. JavaScript encodeURIComponent používa prísne kódovanie komponentov; encodeURI používa tolerantnejší formulár, ktorý zachováva znaky štruktúry adresy URL.

Tento nástroj ponúka kódovanie aj dekódovanie. Režim kódovania zalomí každý znak, ktorý vyžaduje escapovanie, do formátu %HH; dekódovací režim obráti transformáciu. Obe bežia úplne vo vašom prehliadači pomocou vstavaných funkcií URL JavaScriptu, takže sa nikam neposielajú žiadne údaje.

Prečo kódovať alebo dekódovať adresy URL

Kedykoľvek sú údaje zahrnuté v adrese URL – parametre reťazca dopytu, segmenty cesty obsahujúce vstup používateľa, ciele presmerovania – vyžaduje sa správne kódovanie. Neúspešné zakódovanie spôsobí, že adresy URL sa porušia, keď sa objavia špeciálne znaky, presakujú hranice parametrov do reťazcov dopytov (premení &x=1 na samostatný parameter) alebo ich webové servery zablokujú ako chybné požiadavky.

Dekódovanie je opačné: extrahovanie pôvodných údajov zo zakódovanej adresy URL. Panely s adresou prehliadača často zobrazujú adresy URL v zakódovanej forme. dekódovanie odhalí, čo bolo vlastne zamýšľané. Protokolovanie, ladenie a bezpečnostná analýza profitujú z dekódovaných adries URL, ktoré zobrazujú pôvodné parametre a cesty.

Ako používať

Prilepte reťazec, vyberte smer.

  1. Vyberte kódovanie alebo dekódovanie: Kódovať zalamuje nebezpečné znaky do formátu %HH. Dekódovanie obráti %HH escape späť na doslovné znaky.
  2. Pridajte vstupný text: Prilepte reťazec, ktorý chcete zakódovať alebo dekódovať. V prípade kódovania je to zvyčajne doslovná hodnota s medzerami, špeciálnymi znakmi alebo obsahom bez ASCII. Na dekódovanie je to adresa URL alebo komponent adresy URL, ktorý obsahuje znaky %HH escape.
  3. Konvertovať: Nástroj používa encodeURIComponent alebo decodeURIComponent. Kódovaný výstup je možné bezpečne vložiť do adresy URL; dekódovaný výstup je pôvodná doslovná hodnota.
  4. Skopírujte alebo stiahnite: Výsledok použite kdekoľvek potrebujete. Zakódované hodnoty sa zmestia do adries URL; dekódované hodnoty odhaľujú pôvodné údaje.

Bežné prípady použitia

Technické detaily

encodeURIComponent zakóduje každý znak mimo nevyhradenej množiny [A-Za-z0-9-_.~]. Medzery sa stanú %20, znamienka plus %2B, znamienka rovnosti %3D atď. Znaky mimo ASCII sú najskôr zakódované v UTF-8 a potom je každý bajt %-escaped.

encodeURI je tolerantnejší a je určený skôr pre úplné adresy URL ako pre komponenty. Neuvádza znaky /, ?, &, =, # a niekoľko ďalších, pretože tieto znaky majú význam syntaxe adresy URL. Na vkladanie používateľských údajov do adresy URL je takmer vždy správnou voľbou encodeURIComponent.

decodeURIComponent obráti %-escapes, pričom overí, že každý escape má správny tvar a že výsledné bajty tvoria platné UTF-8. Poškodený vstup spôsobí chybu namiesto toho, aby vytvoril odpad.

osvedčené postupy

Často kladené otázky

Aké znaky potrebujú kódovanie adresy URL?
Vyhradené znaky (&, =, ?, #, /, :, @) a nebezpečné znaky (medzery, <, >, {, }, |, ^, ~, [, ], `) musia byť zakódované. Alfanumerické znaky a -_.~ sú bezpečné a nevyžadujú kódovanie.
Aký je rozdiel medzi encodeURI a encodeURIComponent?
encodeURI zakóduje celú adresu URL, ale zachová vyhradené znaky (://?#). encodeURIComponent kóduje všetko okrem -_.!~*'() — použite ho pre hodnoty parametrov dotazu. Tento nástroj ponúka oba režimy.
Ako sú v adresách URL kódované medzery?
Medzery môžu byť zakódované ako %20 (štandardné percentuálne kódovanie) alebo + (kódovanie formulára). %20 je správne pre cesty URL, zatiaľ čo + sa používa v reťazcoch dopytov z formulárov HTML. Tento nástroj štandardne používa %20.
Môžem kódovať znaky Unicode?
áno. Znaky Unicode sú najskôr zakódované do UTF-8 bajtov, potom je každý bajt zakódovaný percentami. Napríklad „日“ sa zmení na %E6%97%A5 (tri bajty UTF-8, každé zakódované v percentách).
Mám použiť encodeURI alebo encodeURIComponent?
Takmer vždy encodeURIComponent. EncodeURI použite iba vtedy, ak máte úplnú adresu URL a chcete zachovať jej štruktúru – zvyčajne je to zriedkavé, pretože adresy URL aj tak vytvárate z komponentov.
Sú moje údaje nahrané na server?
Nie. Kódovanie a dekódovanie adresy URL prebieha výlučne vo vašom prehliadači.
Zvláda emotikony Unicode?
áno. Emoji sú viacbajtové sekvencie UTF-8; kodér vytvorí reťaz %-uniknutých bajtov, ktoré dekodéry správne zostavia späť do pôvodného emoji.
Čo ak môj vstup obsahuje reťazce vyzerajúce ako %HH, ktoré v skutočnosti nie sú zakódované?
Kódovanie zmení každé % na %25 a potom znova použije escapovanie na zvyšok. Dekódovanie prísneho vstupu spôsobí chyby pri chybných únikoch; nejednoznačne vyzerajúce reťazce môžu dekódovať nesprávne.