NodeJS Express对URL进行编码-如何解码

我将NodeJS与Express一起使用,当我在URL中使用外来字符时,它们会自动进行编码。

在调用NodeJS之前,我先转义字符。

所以字符串: אובמה

成为 %u05D0%u05D5%u05D1%u05DE%u05D4

现在,整个URL如下所示: http://localhost:32323/?query=%u05D0%u05D5%u05D1%u05DE%u05D4

现在在我的NodeJS中,我得到了转义的字符串%u05D0%u05D5%u05D1%u05DE%u05D4

这是相关代码:

var url_parts = url.parse(req.url, true);

var params = url_parts.query;

var query = params.query; // '%u05D0%u05D5%u05D1%u05DE%u05D4'

我已经尝试过urlquerystring图书馆,但似乎没有适合我的情况。

querystring.unescape(query); // still '%u05D0%u05D5%u05D1%u05DE%u05D4'

回答:

escape并且unescape已弃用。

用:

encodeURIComponent('אובמה') // %D7%90%D7%95%D7%91%D7%9E%D7%94

decodeURIComponent('%D7%90%D7%95%D7%91%D7%9E%D7%94') // אובמה

unescape('%u05D0%u05D5%u05D1%u05DE%u05D4')"אובמה"

尝试:

var querystring = unescape(query);

以上是 NodeJS Express对URL进行编码-如何解码 的全部内容, 来源链接: utcz.com/qa/432881.html

回到顶部