Express对URL进行编码

Express对URL进行编码

本文介绍了NodeJS Express对URL进行编码-如何解码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm using NodeJS with Express, and when I use foreign characters in the URL, they automatically get encoded.

如何将其解码

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

Before calling NodeJS, I escape characters.

所以字符串:אובמה

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

整个URL现在看起来像: http:// localhost:32323 /?query =%u05D0%u05D5%u05D1% u05DE%u05D4

The entire URL now looks like: http://localhost:32323/?query=%u05D0%u05D5%u05D1%u05DE%u05D4

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

Now in my NodeJS, I get the escaped string %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 库,但似乎没有适合我的情况。

I've tried url and querystring libraries but nothing seems to fit my case.

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


推荐答案

更新16/03/18

转义 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进行编码-如何解码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-14 07:15