Diferencia entre las funciones decodeURIComponent() y decodeURI() en JavaScript

Tanto decodeURI() como decodeURIComponent() son funciones globales de Javascript que se utilizan para decodificar URI (identificador uniforme de recursos) codificado. 
Función decodeURI(): Decodifica una string previamente codificada por la función encodeURI(). Devuelve un URI decodificado reemplazando cada secuencia de escape UTF-8 con los caracteres que representa.
 

  • Sintaxis: 
     
decodeURI(encodeURI(x));
  • Parámetro Contiene un solo parámetro que incluye una string previamente codificada por la función encodeURI() y, por lo tanto, el resultado será x nuevamente.
  • Ejemplo: Este ejemplo usa la función decodeURI()
     

HTML

<!DOCTYPE html>
<html>
 
<head>
    <title>decodeURI() Example</title>
</head>
 
<body>
    <script type="text/javascript">
        var decodeText1 = decodeURI('http://www.testing.com/');
        document.write(decodeText1);
        document.write("<br>");
        var decodeText2 = decodeURI('http%3A%2F%2Fwww.testing.com%2F');
        document.write(decodeText2);
    </script>
</body>
 
</html>
  • Producción: 
     
http://www.testing.com/
http%3A%2F%2Fwww.testing.com%2F

Función decodeURIComponent(): Decodifica una string previamente codificada por la función encodeURIComponent(). Devuelve un componente URI decodificado reemplazando cada secuencia de escape UTF-8 con los caracteres que representa. Puede decodificar cualquier valor entre %00 y %7F. 
 

  • Sintaxis: 
     
decodeURIComponent(encodeURIComponent(x));
  • Parámetro Parámetro único que incluye una string previamente codificada por encodeURIComponent() y, por lo tanto, el resultado será x nuevamente.
  • Ejemplo: este ejemplo está en decodeURIComponent() 
     

HTML

<!DOCTYPE html>
<html>
 
<head>
    <title>decodeURIComponent() Example</title>
</head>
 
<body>
    <script type="text/javascript">
        var decodeText1 = decodeURIComponent(
                          'http://www.testing.com/');
        document.write(decodeText1);
        document.write("<br>");
        var decodeText2 = decodeURIComponent(
                  'http%3A%2F%2Fwww.testing.com%2F');
        document.write(decodeText2);
    </script>
</body>
 
</html>
  • Producción: 
     
http://www.testing.com/
http://www.testing.com/

Nota: Ambas funciones arrojan URIError que indica que una o más de las secuencias de escape en la string tienen un formato incorrecto y no se pueden decodificar correctamente.
Diferencia entre la función decodeURIComponent() y decodeURI(): 
 

  • decodeURI(): Toma la string encodeURI(url) por lo que no puede decodificar caracteres (, /? : @ & = + $#)
  • decodeURIComponent(): Toma la string encodeURIComponent(url) para que pueda decodificar estos caracteres.
  • decodeURI(): toma la string encodeURI(url) como parámetro y devuelve la string decodificada.
  • decodeURIComponent(): toma la string encodeURIComponent(url) como parámetro y devuelve la string decodificada.
  • decodeURI(“%41”): Devuelve “A”
  • decodeURIComponent(“%41”) Devuelve “A”
  • decodeURI(“%26”): Devuelve “%26”
  • decodeURIComponent(“%26”): Devuelve “&”

Publicación traducida automáticamente

Artículo escrito por deekshajaindodya y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *