HOWTO · Node.js

Codificar URL en Node.js

En este breve artículo, aprenderemos cómo realizar la codificación de URL en Node.js.

En esta página

En este artículo, aprenderemos cómo realizar la codificación de URL en Node.js.

Codificación URI en Node.js

JavaScript ofrece una función de codificación URI integrada llamada encodeURIComponent(). Esta selección codifica un URI cambiando cada ejemplo de grandes caracteres con uno, dos, tres o hasta cuatro secuencias de ruptura que representan la codificación UTF-8 del individuo.

Puede usar esta función en cualquier aplicación del lado del cliente o del lado del servidor, incluido Node.js.

Sintaxis:

encodeURIComponent(uriComponent)

El uriComponent es un parámetro obligatorio que puede ser un número, cadena, booleano, indefinido, nulo o cualquier objeto.

Antes de codificar, el uriComponent recibe transformado en una cadena. Se devuelve una nueva cadena como salida que representa el uriComponent proporcionado codificado como un elemento URI.

Use encodeURIComponent() en campos ingresados por personas desde formularios enviados al servidor a través de parámetros de cadena de consulta. Esto elimina codificaciones y símbolos generados accidentalmente durante la entrada de datos para elementos HTML individuales u otros caracteres que necesitan ser codificados/descodificados.

La única diferencia entre encodeURI y encodeURIComponent es que encodeURIComponent codifica la cadena completa mientras que encodeURI ignora el prefijo de protocolo ("http://") y el nombre de dominio.

Ejemplo de código:

console.log(encodeURIComponent(
    'select * from Users where email = "example@domain.com"'));
console.log(encodeURIComponent('http://exampleDomain.com/?param1=hello world'));
console.log(
    encodeURI('select * from Users where email = "example@domain.com"'));
console.log(encodeURI('http://exampleDomain.com/?param1=hello world'));

En el ejemplo anterior, la consulta de la base de datos MySQL y la consulta de la URL se codifican mediante las funciones encodeURIComponent() y encodeURI(). La principal diferencia entre encodeURIComponent() y encodeURI() es que el dominio HTTP está codificado antes y después solo los parámetros de consulta, y los caracteres = y @ no están codificados en encodeURI().

Intente ejecutar el código anterior en cualquier compilador que admita Node.js. Va a mostrar el siguiente resultado:

Producción :

select%20*%20from%20Users%20where%20email%20%3D%20%22example%40domain.com%22
http%3A%2F%2FexampleDomain.com%2F%3Fparam1%3Dhello%20world

select%20*%20from%20Users%20where%20email%20=%20%22example@domain.com%22
http://exampleDomain.com/?param1=hello%20world

Ejecutar demostración