gpt4 book ai didi

javascript - 使用 node.js 读取/写入类型化数组到文件

转载 作者:行者123 更新时间:2023-12-05 04:42:50 59 4
gpt4 key购买 nike

我有以下类型化数组:Uint16Array(2) [ 60891, 11722 ] 我想将其保存到(二进制)文件中。然后我想将它读回另一个 Uint16Array 并保留元素的顺序。

我尝试使用 fs 模块,但是当我去读取文件时,我没有得到相同的整数:

//console.log(buffer) : Uint16Array(2) [ 60891, 11722 ]
fs.writeFileSync(bufferPath, buffer, 'binary')
const loadedBuffer = fs.readFileSync(bufferPath)
//console.log(new Uint16Array(loadedBuffer)) : Uint16Array(4) [ 219, 237, 202, 45 ]

最佳答案

发生这种情况是因为 Buffer类是 JavaScript 的 Uint8Array 类的子类,而不是您在代码中注释的 Uint16Array 数组。要获取原始 Uint16Array 数组的副本,您可以使用 new Uint16Array(buffer, byteOffset, length) 构造函数,如 Uint16Array 中所述文档:

let arr = new Uint16Array(loadedBuffer.buffer, loadedBuffer.byteOffset, loadedBuffer.length / 2);

关于javascript - 使用 node.js 读取/写入类型化数组到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69786468/

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