gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-11-01 00:26:16 24 4
gpt4 key购买 nike

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

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

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

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

sock.on('end', function() {
console.log(data) // [<Byte Array>,<Byte Array>, ...]
});

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

最佳答案

根据您的数据库接口(interface),您可以将 JS 数组的每个元素作为单独的 block 进行流式传输。

[更新] 看起来 node.js 现在提供了一个 Buffer.concat(...)将一堆缓冲区连接成一个缓冲区的方法(基本上替换了我在下面提到的“buffertools”库)。

var buffers = [];
sock.on('data', function(data) {
buffers.push(data);
}).on('end', function() {
var bytes = Buffer.concat(buffers); // One big byte array here.
// ...
});

[Original] 或者,您可以使用 buffertools模块将所有 block 连接到一个缓冲区中。例如:

var buffertools = require('buffertools');
var buff = new Buffer();
sock.on('data', function(data) {
buff = buff.concat(data);
}).on('end', function() {
console.log(buff); // <Byte Array>
});

关于javascript - 在 node.js 中使用字节数组数据以及如何处理它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14694923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com