¿Por qué no decodeURI (“a + b”) == “a b”?
Estoy tratando de codificar URL en Ruby y decodificarlas con Javascript. Sin embargo, el carácter positivo me está dando un comportamiento extraño.
En rubí:
[Dev]> CGI.escape "a b"
=> "a+b"
[Dev]> CGI.unescape "a+b"
=> "a b"
Hasta aquí todo bien. ¿Pero qué hay de Javascript?
>>> encodeURI("a b")
"a%20b"
>>> decodeURI("a+b")
"a+b"
Básicamente, necesito un método de codificación / decodificación de URL que funcione de la misma manera en Javascript y Ruby.
Editar: decodeURIComponent
no es mejor:
>>> encodeURIComponent("a b")
"a%20b"
>>> decodeURIComponent("a+b")
"a+b"