7

所以我正在尝试解码以前在 Node.js 中使用 php 进行 urlencoded 的字符串。大约一个月前,我使用它:

querystring.unescape(str.replace(/\+/g, '%20'));

然后它就停止了工作 - 不确定是不是一些节点升级或什么。在玩了之后似乎我可以使用'unescape()'但我不确定它是否万无一失。

unescape(str.replace(/\+/g, '%20'));

我的问题是什么是最好的方法,有没有其他人注意到这个问题。请注意,第一行适用于简单的字符串,但会分解为奇数字符 - 所以也许我没有看到一些编码问题。

这是一个字符串:

%E6.%82%CCI-T%8C%01+A

现在访问http://www.tareeinternet.com/scripts/unescape.html并对其进行解码。那是我的原件(它是一个 RC4 加密字符串)。我希望 Node 返回那个字符串。

4

1 回答 1

29

If you just use the unescape function that's built in into Node.js, your result should be what you want.

Using Node.js 0.10.1 and running

unescape('%E6.%82%CCI-T%8C%01+A');

on the interactive shell, I get

'æ.ÌI-T\u0001+A'

as result which looks pretty much like what you would like to get.

Hope this helps :-)

于 2013-04-06T20:22:20.620 回答