Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js nodejs:如何从解码的url查询字符串中获取原始值_Node.js_Unicode - Fatal编程技术网

Node.js nodejs:如何从解码的url查询字符串中获取原始值

Node.js nodejs:如何从解码的url查询字符串中获取原始值,node.js,unicode,Node.js,Unicode,如果url包含非英语字符,则以百分比解码格式进行编码 像这样 %D8%A7%D9%84%D8%B3%D9%8A%D8%AF%20Ahmed 在nodejs程序中,我需要将这个值解码为它的原始值 我试过: var qs = require('querystring'); console.log(qs.unescape('%D8%A7%D9%84%D8%B3%D9%8A%D8%AF%20Ahmed')); 还有这个 console.log(swapBytes(new Buffer(%D8%A7%

如果url包含非英语字符,则以百分比解码格式进行编码 像这样

%D8%A7%D9%84%D8%B3%D9%8A%D8%AF%20Ahmed
在nodejs程序中,我需要将这个值解码为它的原始值

我试过:

var qs = require('querystring');
console.log(qs.unescape('%D8%A7%D9%84%D8%B3%D9%8A%D8%AF%20Ahmed'));
还有这个

console.log(swapBytes(new Buffer(%D8%A7%D9%84%D8%B3%D9%8A%D8%AF%20Ahmed,'hex')).toString('utf8'));
两者都给了我错误的值:

原始值为:
艾哈迈德
这对我来说很有用:

var buf = new Buffer('d8a7d984d8b3d98ad8af2041686d6564', 'hex');
console.log(buf.toString('utf8'));

它在终端的右侧显示所需的名称。您可以确保您的
LANG
环境变量在国家/语言之后有
.UTF-8
(例如
en_US.UTF-8
)。如果您使用PuTTY之类的工具来测试控制台中的输出,请确保更改
窗口中的
远程字符集
选项
->
翻译
,以便在下拉列表中连接到
UTF-8
,然后单击应用。

实际上,我发现所有方法都在工作。。。问题出现在输出控制台中,而不是值中。。。我用的是崇高的文字。。。