URL enkodér a dekodér
Vložte text alebo celú adresu a hneď uvidíte zakódovanú alebo čitateľnú verziu. Hodí sa na odkazy s medzerami, diakritikou či znakom &, na parametre pre API aj na rozlúštenie dlhých adries.
Ako funguje URL kódovanie
URL adresa nie je obyčajná veta. Niektoré znaky v nej majú vlastný význam: otáznik začína parametre, znak & ich oddeľuje a mriežka označuje miesto na stránke. Medzera ani diakritika sa do adresy priamo písať nemajú. URL kódovanie, po anglicky URL encoding alebo percent-encoding, preto takéto znaky prepíše na znak % a dve šestnástkové číslice. Medzera sa zmení na %20, znak & na %26 a písmeno á na %C3%A1, lebo v UTF-8 zaberá dva bajty.
Kde sa URL enkodér hodí
- keď skladáte odkaz s vyhľadávaným výrazom alebo filtrom
- keď parameter obsahuje medzeru, diakritiku, znak & alebo otáznik
- keď chcete rozlúštiť dlhú adresu z e-mailu, reklamy či vyhľadávača
- keď pripravujete hodnoty pre API, formulár alebo query string
- keď zisťujete, prečo sa odkaz po vložení pokazil
Príklady
Takto vyzerajú bežné texty pred zakódovaním a po ňom:
káva & čaj
k%C3%A1va%20%26%20%C4%8Daj
letné šaty
letn%C3%A9%20%C5%A1aty
1+1=2
1%2B1%3D2
https://example.com/cenník služieb?q=káva
https://example.com/cenn%C3%ADk%20slu%C5%BEieb?q=k%C3%A1va
Celá adresa alebo len jej časť
Keď vložíte celú adresu so začiatkom https://, enkodér zachová jej štruktúru a zakóduje len medzery, diakritiku a ďalšie nepovolené znaky. Ak vložíte len hodnotu, napríklad vyhľadávaný výraz, zakóduje aj znaky &, ?, / či =, aby ich prehliadač nepovažoval za súčasť adresy. Hodnotu parametra preto zakódujte samostatne a až potom ju vložte do odkazu.
Medzera ako %20 alebo +
Medzera sa v adresách zapisuje dvoma spôsobmi. Podľa štandardu je to %20, formuláre a vyhľadávače ako Google však v parametroch používajú znak +. Enkodér zapisuje medzeru vždy ako %20, ktorému rozumie každý server. Pri dekódovaní prečíta + v parametroch ako medzeru a skutočný znak plus spozná podľa zápisu %2B.
Súvisiace nástroje
Ďalšie nástroje na prípravu, úpravu a kontrolu textu.
FAQ
Čo je URL kódovanie?
%20, znak & na %26 a písmená s diakritikou na dvojicu takých kódov, napríklad á na %C3%A1.
Prečo sa medzera niekde zapisuje ako %20 a inde ako +?
%20 je zápis podľa štandardu URL a funguje všade. Znak + ako medzeru používajú HTML formuláre a vyhľadávače, ale len v parametroch za otáznikom. Tento enkodér preto zapisuje medzeru ako %20 a pri dekódovaní rozumie obom zápisom.
Môžem zakódovať celú URL adresu?
https://, nástroj ju rozpozná a zachová znaky ako /, ?, & a =, aby odkaz fungoval. Zakóduje len medzery, diakritiku a ostatné nepovolené znaky. Ak chcete celú adresu vložiť ako hodnotu parametra, napríklad do presmerovania, kliknite pod výsledkom na Zakódovať ako hodnotu parametra.
Prečo sa mi pri dekódovaní zobrazí chyba?
% musia nasledovať dve šestnástkové číslice, teda znaky 0 až 9 alebo A až F. Chybu spôsobí aj neúplne skopírovaná adresa, napríklad keď z kódu %C3%A1 ostane len %C3. Ak má text obsahovať samotný znak percenta, musí byť zakódovaný ako %25.
Zhoduje sa výsledok s PHP alebo JavaScriptom?
rawurlencode v PHP. JavaScriptová funkcia encodeURIComponent nechá bez zmeny znaky ! ' ( ) *, tento nástroj ich zakóduje tiež, čo vyžadujú napríklad podpisy OAuth. Pri dekódovaní sa správa ako urldecode v PHP, teda číta + ako medzeru.