Jak dekódovat URL pomocí JavaScriptu

V dřívějším článku jsme se zabývali různými způsoby kódování adresy URL v JavaScriptu. V tomto článku se dozvíte, jak dekódovat zakódovanou adresu URL v JavaScriptu.

Dekódování adresy URL je opak procesu kódování. Převádí zakódované řetězce URL a parametry dotazu zpět do jejich normálního formátu. Zakódované parametry řetězce dotazu jsou většinou automaticky dekódovány základním rámcem, který používáte, jako je Express nebo Spring Boot. V samostatných aplikacích však musíte ručně dekódovat řetězce dotazů.

Podívejme se na nativní funkce JavaScriptu, které lze k tomuto účelu použít.

decodeURI()

decodeURI() Funkce se používá k dekódování úplné adresy URL v JavaScriptu. Provede to zpětný chod provoz encodeURI() . Zde je příklad:

const encodedUrl = 'http://example.com/!leearn%20javascript$/';

// decode complete URL
const url = decodeURI(encodedUrl);

// print decoded URL
console.log(url);

// output: http://example.com/!leearn javascript$/

decodeURIComponent()

decodeURIComponent() Funkce se používá k dekódování komponent URL kódování pomocí encodeURIComponent() v JavaScriptu. Používá UTF-8 kódovací schéma pro provedení operace dekódování.

Měli byste použít decodeURIComponent() k dekódování parametrů řetězce dotazu a segmentů cesty namísto úplných adres URL. Zde je příklad:

const query = "Danke Schön";

// perofrm encode/decode
const encodedStr = encodeURIComponent(query);
const decodedStr = decodeURIComponent(encodedStr);

// print values
console.log(`Encoded Query: ${encodedStr}`);
console.log(`Decoded Query: ${decodedStr}`);

// Output
// Encoded Query: Danke%20Sch%C3%B6n
// Decoded Query: Danke Schön

Další informace: Base64 kódování a dekódování v JavaScriptu