Žádné nahrávání, 100% lokálně, bez účtu

URL kodér / dekodér

Zakódujte speciální znaky v URL, nebo dekódujte procentně kódované řetězce. Vše zůstává v prohlížeči.

Jak URL kodér / dekodér funguje

Kodér a dekodér URL převádí řetězce do a z percent-kódování (nazývaného také URL kódování), formátu vyžadovaného RFC 3986 pro bezpečné zahrnutí speciálních znaků do URL adres. Vložte surový řetězec pro jeho zakódování nebo vložte percent-kódovaný řetězec pro jeho dekódování zpět do čitelné podoby. Konverze probíhá celá v prohlížeči pomocí JavaScriptových funkcí encodeURIComponent a decodeURIComponent; nic, co napíšete, neopustí vaše zařízení.

Kódování URL je důležité vždy, když programově vytváříte parametry dotazu, přesměrovávací URI nebo kanonické odkazy. Mezera se stane %20, ampersand %26, mřížka %23 atd. Kódování se vztahuje také na internacionalizované doménové názvy a znaky mimo ASCII v segmentech cest. Tento nástroj také nabízí režim encodeURI pro kódování celých URI při zachování strukturálních znaků jako '/', '?' a '#'.

URL kodér / dekodér: návod krok za krokem

  1. Vložte text, který chcete zakódovat nebo dekódovat, do vstupní oblasti.
  2. Vyberte Kódovat pro percent-kódování textu nebo Dekódovat pro obrácení kódování.
  3. Zvolte režim encodeURIComponent pro hodnoty parametrů dotazu nebo režim encodeURI pro celé URI.
  4. Zkopírujte výsledek z výstupní oblasti.

Časté případy použití

  • Vývojář sestavující URL přesměrování vyhledávání potřebuje percent-kódovat řetězec dotazu, aby speciální znaky nerozbily strukturu URL.
  • Integrátor API obdrží percent-kódovanou zpětnou URL v payloadu webhooku a potřebuje ji dekódovat pro ověření cílové adresy.
  • Redaktor obsahu zkopíruje URL s diakritikou z prohlížeče a potřebuje ji zakódovat pro použití v odkazu Markdown.
  • QA inženýr testuje endpoint ověřování vstupu kódováním hraničních znaků jako '<', '>' a '&' před jejich odesláním.

Často kladené otázky

Jaký je rozdíl mezi encodeURIComponent a encodeURI?

encodeURIComponent kóduje vše kromě písmen, číslic a znaků - _ . ! ~ * ' ( ). Slouží ke kódování jednotlivých komponent, jako jsou hodnoty parametrů dotazu. encodeURI ponechává strukturální znaky URI (: / ? # [ ] @ ! $ & ' ( ) * + , ; =) nekódované, protože předpokládá, že vstup je kompletní URI. Používejte encodeURIComponent pro hodnoty, encodeURI pro celé URL adresy.

Přenáší se text, který sem vložím, na nějaký server?

Ne. Kódování a dekódování volají vestavěné funkce JavaScriptu encodeURIComponent a decodeURIComponent, které běží celé v JavaScriptovém enginu prohlížeče. Nic, co zde napíšete, se nikam neposílá.

Proč se mezera někdy stane '+' místo '%20'?

Zápis '+' pro mezery pochází ze staršího formátu application/x-www-form-urlencoded používaného při odesílání formulářů HTML, který se liší od percent-kódování RFC 3986. Tento nástroj používá přísné percent-kódování RFC 3986, takže mezery se stanou %20. Pokud váš cílový systém očekává '+' pro mezery, budete muset po kódování ručně nahradit %20 za '+'.

Mohu zakódovat celou URL včetně jejího řetězce dotazu najednou?

Ano, pomocí režimu encodeURI. Tento režim zachovává '/', '?', '=', '&', '#' a další strukturální znaky URL při kódování ne-ASCII znaků a vyhrazených znaků, které se objevují v segmentech nebo hodnotách parametrů. Používejte encodeURIComponent pouze na jednotlivé hodnoty parametrů, ne na celou URL.

Zpracovává tento nástroj znaky Unicode a emoji?

Ano. JavaScript encodeURIComponent nejprve převede znak na jeho bytovou sekvenci UTF-8, poté percent-kóduje každý bajt. Emoji jako 'palec nahoru' se zakóduje na vícebajtovou sekvenci, například %F0%9F%91%8D. Dekódování proces správně obrátí.