如何在Node.js中为请求编码任意字符串?
我有这样一根弦:“abcde李". 它可以是包含非拉丁字符的任何字符串 我想对它进行编码,以便在请求中使用,因此它将是“abcde%E6%9D%8E”,可以用于http.request 我试过这个:如何在Node.js中为请求编码任意字符串?,node.js,encoding,utf-8,Node.js,Encoding,Utf 8,我有这样一根弦:“abcde李". 它可以是包含非拉丁字符的任何字符串 我想对它进行编码,以便在请求中使用,因此它将是“abcde%E6%9D%8E”,可以用于http.request 我试过这个: str.toString("utf-8"); 或 但是它们都不起作用。处理此问题的正确方法是什么?该字符串已经是UTF-8。看起来您正试图将其转义以在中使用,请尝试以下操作: var qs=require('querystring'); qs.escape('abcde李'); // => 'a
str.toString("utf-8");
或
但是它们都不起作用。处理此问题的正确方法是什么?该字符串已经是UTF-8。看起来您正试图将其转义以在中使用,请尝试以下操作:
var qs=require('querystring');
qs.escape('abcde李'); // => 'abcde%20%E6%9D%8E'
你就是那个人!!!!我总是不知道如何处理编码和转义..谢谢.)在这种情况下,qs.escape和encodeURI之间有什么区别?@Kelvin:这个例子实际上没有区别。node.js文档甚至注意到函数的存在主要是为了能够被重写。使用应该会产生相同的结果。escape(“abcde”)李“”==“abcde%20%u674E”…编码URI(“abcde李“”==“abcde%20%E6%9D%8E”
var buffer = new Buffer(str);
str = buffer.toString('utf-8');