所以我正在尝试解码之前在Node中使用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返回该字符串。
答案 0 :(得分:29)
如果您只使用内置于Node.js中的unescape
函数,您的结果应该是您想要的。
使用Node.js 0.10.1并运行
unescape('%E6.%82%CCI-T%8C%01+A');
在交互式shell上,我得到了
'æ.ÌI-T\u0001+A'
结果看起来非常像你想要的。
希望这会有所帮助: - )