Tag: typed arrays

在Node.js中用.bin文件内容填充一个types化的数组

在我的服务器文件系统上,我有一个目录,其中包含一些充满16位整数的.bin文件。 如何在Node.js中加载一个Uint16Arrayvariables和特定.bin文件的内容? 我已经尝试过了: 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 }

切片JavaScript TypedArray多次

我试图将一个typedArray分成更小的块,这个简单的代码片段: const buf = new Uint8Array([0x02, 0x00, 0x07, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x00, 0x3f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x61, 0x70, 0x70, 0x02]) const len = 5 for (let i=0; i<buf.length;){ const chunk = buf.slice(i, len) console.log("Chunk", chunk, "from", i, "to", i + chunk.length) if (chunk.length) { […]

为什么分配Int8Array时Node有时会挂起?

考虑以下两个程序: // works.js var buffer = new ArrayBuffer(16777216); var HEAP8 = new Int8Array(buffer); 和 // fails.js var HEAP8; var buffer = new ArrayBuffer(16777216); HEAP8 = new Int8Array(buffer); 运行node然后input.load works.js 。 一切似乎都快乐。 现在退出node 。 再次运行node并input.load fails.js 。 在我的机器上加载fails.js交互式地导致node进程消耗超过1GB的RAM和100%的CPU,并且最后的语句永远阻塞了解释器。 works.js只是运行并按预期返回。 有什么不同的理由吗? 或者我应该写一个错误报告? 奇怪的是,直接从命令行运行任何脚本工作正常: node works.js # exits normally node fails.js # exits normally 更新 :我在OS X 10.9.5上使用节点0.12.0