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'
我已经尝试过url
和querystring
图书馆,但似乎没有适合我的情况。
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