如何在Node.js中为请求编码任意字符串?

时间:2012-04-02 21:37:17

标签: node.js encoding utf-8

我有一个这样的字符串:“abcde李”。它可以是任何非拉丁字符的字符串。

我想对它进行编码以便在请求中使用,因此它将是“abcde%E6%9D%8E”并且可以用于http.request。

我试过这个:

str.toString("utf-8");

var buffer = new Buffer(str);
str = buffer.toString('utf-8');

但它们都不起作用。处理这个问题的正确方法是什么?

1 个答案:

答案 0 :(得分:3)

该字符串已经是UTF-8。看起来你正试图逃避它以用于HTTP query string,所以试试这个:

var qs = require('querystring');
qs.escape('abcde 李'); // => 'abcde%20%E6%9D%8E'