Javascript Buffer base64编码一个变量node.js

Javascript Buffer base64编码一个变量node.js,javascript,node.js,buffer,Javascript,Node.js,Buffer,我正在尝试使用node.js和buffer将http参数中的变量编码为base64 我的代码: var http = require("http"); var url = require("url"); http.createServer(function(req, res) { var parsedUrl = url.parse(req.url, true); var queryAsObject = parsedUrl.query; var urlEncodeString =

我正在尝试使用node.js和buffer将http参数中的变量编码为base64

我的代码:

var http = require("http");
var url = require("url");

http.createServer(function(req, res) {

  var parsedUrl = url.parse(req.url, true);
  var queryAsObject = parsedUrl.query;
  var urlEncodeString = new Buffer(queryAsObject).toString('base64');

  console.log(urlEncodeString);

  res.end(urlEncodeString);

}).listen(8020);

console.log("Server listening on port 8020");
使用的URL:
http://127.0.0.1:8020/?test=testtxt

queryAsObject
返回
{test:'testtxt'}

有没有办法使用缓冲区读取变量
queryAsObject
并用base64编码


我花了好几个小时寻找使缓冲区接受此变量的方法,但我找不到一种有效的方法。

您需要先
JSON.stringify()
您的对象

更改:

var urlEncodeString = new Buffer(queryAsObject).toString('base64');
致:

var urlEncodeString = new Buffer(JSON.stringify(queryAsObject)).toString('base64');