URL kodér a dekodér
Procentově kódujte text pro URL a query stringy, dekódujte zakódované URL a rozložte libovolnou URL na části s dekódovanými parametry dotazu.
Běží v prohlížečiBez registraceNic se neodesílá
Části
Parametry dotazu
Jak používat: URL kódování / dekódování
- Zvolte Kódovat nebo Dekódovat.
- Při kódování zvolte Komponenta pro jednu hodnotu parametru nebo segment cesty, Celá URL pro zachování struktury URL, nebo Data formuláře pro
application/x-www-form-urlencoded. - Vložte text. Výsledek se zobrazí okamžitě; chybné sekvence se hlásí i s pozicí.
- Vložte celou URL do parseru URL a uvidíte její host, cestu, fragment a každý parametr dotazu dekódovaný.
Co je kódování URL?
URL smí obsahovat jen omezenou sadu znaků ASCII (RFC 3986). Vše ostatní, včetně mezer, písmen s diakritikou a znaků se zvláštním významem jako &, ? a #, se zapisuje jako znak procenta následovaný dvěma šestnáctkovými číslicemi pro každý bajt UTF-8. Mezera se stane %20 a é se stane %C3%A9.
encodeURIComponent vs. encodeURI
| Funkce | Ponechá beze změny | Použití |
|---|---|---|
encodeURIComponent | A-Z a-z 0-9 - _ . ~ | Jedna hodnota parametru, segment cesty nebo název parametru |
encodeURI | Navíc : / ? # [ ] @ ! $ & ' ( ) * + , ; = | Celá URL, jejíž struktura musí zůstat zachována |
Použití encodeURI na hodnotu parametru je klasická chyba: & uvnitř hodnoty se nezakóduje, takže parametr rozdělí na dva. Režim Komponenta v tomto nástroji kóduje také ! ' ( ) * pro striktní shodu s RFC 3986.
%20, nebo + pro mezery?
V cestách musí být mezera %20. V odesílání HTML formulářů (application/x-www-form-urlencoded) a v mnoha query stringech se mezera zapisuje jako +. Při dekódování zapněte Považovat + za mezeru pro data formulářů a vypněte to, když záleží na doslovném znaku plus, například v jane+test@example.com.
Časté dotazy
Proč při dekódování dostávám „Chybná sekvence“?
% musí následovat přesně dvě šestnáctkové číslice. Doslovný znak procenta, jako v „sleva 50%“, měl být zakódován jako %25. Chyba ukazuje pozici vadné sekvence.Co znamená „Neplatná sekvence bajtů UTF-8“?
%E9 pro é místo %C3%A9), nebo byl řetězec useknut uprostřed znaku.Mám kódovat celou URL, nebo jen parametry?
= a &. Zakódování celé URL v režimu komponenty by zakódovalo i :// a URL rozbilo.Je dvojité kódování problém?
%20 stane %2520. Pokud vidíte %25 následované šestnáctkovými číslicemi, hodnota byla pravděpodobně zakódována dvakrát. Dekódujte ji dvakrát a získáte originál.