我有一个数字数组,我想使用 Node.JS 将其写入文件。
如果我有一个号码:256
该文件应包含二进制文件:
`00000001 00000000`
而不是:
`00000010 00000101 00000110`
问这个问题的原因是我读到缓冲区的二进制字符串格式已被弃用 1 .
最佳答案
Buffer 类可以直接处理数字数组:
// Old style
var buffer = new Buffer([ 150 ]);
// New style
var buffer = Buffer.from([ 150 ]);
// Write the buffer to a file.
// Using `fs.writeFileSync()` just as an example here.
require('fs').writeFileSync('output.bin', buffer);
如果您要处理更大的数字(而不是字节),则需要使用 typed array .
例如,使用 16 位无符号值:
var array = [ 5000, 4000 ];
var u16array = Uint16Array.from(array);
var buffer = new Buffer(u16array.buffer);
require('fs').writeFileSync('output.bin', buffer);
关于javascript - 如何将二进制(非 UTF-8)写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37489360/