Por que decodeURI ("a + b") == "a b"?
Estou tentando codificar URLs em Ruby e decodificá-las com Javascript. No entanto, o personagem mais está me dando um comportamento estranho.
Em Ruby:
[Dev]> CGI.escape "a b"
=> "a+b"
[Dev]> CGI.unescape "a+b"
=> "a b"
Por enquanto, tudo bem. Mas e o Javascript?
>>> encodeURI("a b")
"a%20b"
>>> decodeURI("a+b")
"a+b"
Basicamente, preciso de um método de codificação / decodificação de URLs que funcione da mesma maneira em Javascript e Ruby.
Editar: decodeURIComponent
não é melhor:
>>> encodeURIComponent("a b")
"a%20b"
>>> decodeURIComponent("a+b")
"a+b"