我正在使用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'
querystring.unescape(str)
代替。 - Rsh