如何通过 NodeJS 在文件中逐个写入和读取位



我想使用01位值创建一个二进制文件,然后我想一个接一个地读取它们。

我该怎么做?

对于写作,我尝试过:

var out = require("fs").createWriteStream("./out");
out.write(new Buffer("0"));   // this writes "0" as string
out.write(new Buffer(["0"])); // this creates something strange,
                              // but I'm not sure it's the needed thing

文件存在后,我想迭代该文件中的所有位:

require("fs").readFile("./out", function (err, buff) {
   // how to access here `0` and `1` values?
});

这样做的正确方法是什么?

缓冲区在字节级别运行。一旦您访问特定字节(例如 buff[0] ),它只是一个普通的 JavaScript 数字,因此您可以对该数字执行任何位操作(例如 buff[0] & 0x0F )。

Buffer 对象上有方便的函数,允许您也写入不同类型的数字。例如:buff.writeUInt32BE(5, 0)将在缓冲区中的位置 0 处以大端模式写入一个 32 位无符号整数 5。要在大端模式下读取位置为 0 的 32 位无符号整数:buff.readUInt32BE(0) .

相关内容

  • 没有找到相关文章

最新更新