Javascript 从混合缓冲区获取原始二进制文件

Javascript 从混合缓冲区获取原始二进制文件,javascript,node.js,buffer,Javascript,Node.js,Buffer,具有以下nodeJS Buffer().toString('utf8'): 我需要删除标题(内容类型/配置)并获取原始音频数据。如果我简单地用方法替换头部,我就无法将UTF-8音频正确地转换回缓冲区 怎么做呢?最好不要在这里转换为字符串。要将正文放入缓冲区,请在缓冲区内搜索\r\n\r\n,然后从该点获取一个切片 例如: var buf = ...; var body = null; for (var i=3; i<buf.length; ++i) { if (buf[i]=='\

具有以下nodeJS Buffer().toString('utf8'):

我需要删除标题(内容类型/配置)并获取原始音频数据。如果我简单地用方法替换头部,我就无法将UTF-8音频正确地转换回缓冲区


怎么做呢?

最好不要在这里转换为字符串。要将正文放入缓冲区,请在缓冲区内搜索
\r\n\r\n
,然后从该点获取一个切片

例如:

var buf = ...;
var body = null;
for (var i=3; i<buf.length; ++i)
{
    if (buf[i]=='\n' && buf[i-1]=='\r' && buf[i-2]=='\n' && buf[i-3]=='\r')
    {
        body = buf.slice(i);
        break;
    }
}
var buf=。。。;
var body=null;

对于(var i=3;i,最好不要在此处转换为字符串。若要将正文放入缓冲区,请在缓冲区内搜索
\r\n\r\n
,然后从该点获取一个片段

例如:

var buf = ...;
var body = null;
for (var i=3; i<buf.length; ++i)
{
    if (buf[i]=='\n' && buf[i-1]=='\r' && buf[i-2]=='\n' && buf[i-3]=='\r')
    {
        body = buf.slice(i);
        break;
    }
}
var buf=。。。;
var body=null;
对于(var i=3;i我使用软件包使其工作:

我使用以下软件包使其工作:

var bsplit = require('buffer-split');        
var rawData = bsplit(rawDataWithHeaders, new Buffer('\r\n\r\n'))[1];
rawData = bsplit(rawData, new Buffer('\r\n'))[0];