将string转换为缓冲节点
我正在使用函数调用返回缓冲区的toString库。
确切的代码是
return Buffer.concat(stdOut).toString('utf-8');
但是我不想要它的string版本。
我只是想要缓冲区
那么如何将string转换回缓冲区。
像是如果
var bufStr = Buffer.concat(stdOut).toString('utf-8'); //convert bufStr back to only Buffer.concat(stdOut).
这个怎么做?
我试过了
var buf = Buffer.from(bufStr, 'utf-8');
但是它引发的utf-8不是函数。 当我做
var buf = Buffer.from(bufStr);
它引发TypeError:这不是一个types数组。
谢谢
你可以做:
var buf = Buffer.from(bufStr, 'utf8');
但是这有点愚蠢,所以另一个build议是从被调用的函数中拷出最less量的代码,以允许你访问原始缓冲区。 根据该库的细节,这可能相当容易或相当困难。
您可以使用Buffer.from()
将string转换为缓冲区。 更多的信息可以在这里find
var buf = Buffer.from('some string', 'encoding');
例如
var buf = Buffer.from(bStr, 'utf-8');
注意:只要转发John Zwinck的评论作为答案。
一个问题可能是您使用的是旧版本的Node(目前,我无法升级,代码库使用v4.3.1
)。 这里简单的解决scheme是,使用不赞成的方式:
new Buffer(bufferStr)
这对我有用,你可以像这样改变你的代码
var responseData=x.toString();
至
var responseData=x.toString("binary");
最后
response.write(new Buffer(toTransmit, "binary"));