Cómo decodificar una URL usando JavaScript

En un artículo anterior, analizamos diferentes formas de codificar una URL en JavaScript. En este artículo, aprenderá a descifrar una URL codificada en JavaScript.

La decodificación de URL es opuesta del proceso de codificación. Convierte las cadenas de URL codificadas y los parámetros de consulta a sus formatos normales. La mayoría de las veces, los parámetros de cadena de consulta codificados son decodificados automáticamente por el marco subyacente que está utilizando, como Express o Spring Boot. Sin embargo, en aplicaciones independientes, debe decodificar manualmente las cadenas de consulta.

Veamos las funciones nativas de JavaScript que se pueden usar para este propósito.

decodeURI()

El decodeURI() La función se utiliza para decodificar una URL completa en JavaScript. Realiza el reverso funcionamiento de encodeURI() . Aquí hay un ejemplo:

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()

El decodeURIComponent() La función se utiliza para decodificar componentes de URL codificados por encodeURIComponent() en JavaScript. Utiliza UTF-8 esquema de codificación para realizar la operación de decodificación.

Deberías usar decodeURIComponent() para decodificar parámetros de cadena de consulta y segmentos de ruta en lugar de direcciones URL completas. Aquí hay un ejemplo:

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

Leer a continuación: Codificación y decodificación Base64 en JavaScript