Javascript 在node.js中使用字节数组数据以及如何处理它

Javascript 在node.js中使用字节数组数据以及如何处理它,javascript,node.js,bytearray,Javascript,Node.js,Bytearray,我需要从一个套接字获取整个字节数组数据,然后我需要将它插入一个BLOB数据库。不要问我为什么不格式化字节数组中的数据,因为我需要使用该结构 我将字节数组数据存储到js数组中。我试图将其存储在缓冲区对象中,但在尝试将字节数组数据写入缓冲区时出错,因为它可以将其转换 我的问题是如何在js中使用字节数组是最简单的方法。 我有以下代码: var buff =[]; sock.on('data', function(data) { buff.push(data); }) sock.on('end

我需要从一个套接字获取整个字节数组数据,然后我需要将它插入一个BLOB数据库。不要问我为什么不格式化字节数组中的数据,因为我需要使用该结构

我将字节数组数据存储到js数组中。我试图将其存储在缓冲区对象中,但在尝试将字节数组数据写入缓冲区时出错,因为它可以将其转换

我的问题是如何在js中使用字节数组是最简单的方法。 我有以下代码:

var buff =[];
sock.on('data', function(data) {
    buff.push(data);
})

sock.on('end', function() {
    console.log(data) // [<Byte Array>,<Byte Array>, ...]
});
var buff=[];
sock.on('data',函数(data){
buff.push(数据);
})
sock.on('end',function(){
console.log(数据)/[,,…]
});

基本上,我希望将数据插入为[],而不是[,…]。解决我的问题的最佳解决方案是什么?

根据您的数据库接口,您可能能够将JS数组的每个元素作为一个单独的块进行流式处理

[Update]看起来node.js现在提供了一种方法,可以将一组缓冲区连接成一个缓冲区(基本上取代了我下面提到的“buffertools”库)

var缓冲区=[];
sock.on('data',函数(data){
推送(数据);
}).on('end',function(){
var bytes=Buffer.concat(buffers);//这里有一个大字节数组。
// ...
});
[Original]或者,您可以使用模块将所有块连接到单个缓冲区中。例如:

var buffertools=require('buffertools');
var buff=新缓冲区();
sock.on('data',函数(data){
buff=buff.concat(数据);
}).on('end',function(){
console.log(buff);//
});

示例代码的语法无效(
buff.push[data]
),您的问题含糊不清。你能发布你的代码中试图在数据库中存储数据的部分,并解释你预期会发生什么以及会发生什么吗?我修正了输入错误…正如我说的,我想将字节数组存储到缓冲区中,然后将其转储到数据库中…我现在不能这样做,因为我得到了一个来自流…我希望整个字节数组像我所说的那样分成一个块