我想使用0
和1
位值创建一个二进制文件,然后我要一个一个地读取它们。
我怎样才能做到这一点?
为了写作,我尝试了:
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)
将以大尾数模式在Buffer的位置0处写入32位无符号整数5。到在位置0读取大端模式的32位无符号整数:buff.readUInt32BE(0)
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句