gpt4 book ai didi

javascript - 在 Node.js 中使用 .bin 文件内容填充类型化数组

转载 作者:太空宇宙 更新时间:2023-11-03 21:50:00 24 4
gpt4 key购买 nike

在我的服务器文件系统上,我有一个目录,其中包含一些填充 16 位整数的 .bin 文件。

如何使用 Node.js 中特定 .bin 文件的内容加载 Uint16Array 变量?

我已经尝试过:

var arrayFromBinFile = new Uint16Array('./myDirectoryContainingBinFiles/selectedFile.bin')

通过在node.js中使用console.log,我得到的是:

{ 
BYTES_PER_ELEMENT: 2,
get: [Function: get],
set: [Function: set],
slice: [Function: slice],
subarray: [Function: subarray],
buffer: { slice: [Function: slice], byteLength: 0 },
length: 0,
byteOffset: 0,
byteLength: 0
}

最佳答案

我想出了以下解决方案

fs.readFile('./myDirectoryContainingBinFiles/selectedFile.bin', function(err, data)
{
if (err) throw err;
terrainData = new Uint16Array(toArrayBuffer(data));
});

其中 toArrayBuffer 函数,在来自 Convert a binary NodeJS Buffer to JavaScript ArrayBuffer 的接受答案中报告,定义为

function toArrayBuffer(buffer) {
var ab = new ArrayBuffer(buffer.length);
var view = new Uint8Array(ab);
for (var i = 0; i < buffer.length; ++i) {
view[i] = buffer[i];
}
return ab;
}

关于javascript - 在 Node.js 中使用 .bin 文件内容填充类型化数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28761155/

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