Javascript 我需要一种方法将最后写入流的0xFFF字节存储在某种缓冲区中
我正在Node.JS中使用streams制作一个解压缩例程,但我需要将写入流的最后0xFFF字节保存在临时缓冲区中 我有一些可以工作的代码,但它看起来效率很低,Node.js对象是否有类似的代码Javascript 我需要一种方法将最后写入流的0xFFF字节存储在某种缓冲区中,javascript,node.js,Javascript,Node.js,我正在Node.JS中使用streams制作一个解压缩例程,但我需要将写入流的最后0xFFF字节保存在临时缓冲区中 我有一些可以工作的代码,但它看起来效率很低,Node.js对象是否有类似的代码 也许是一个你想要的内容长度的环形缓冲区?这样,当流结束时,缓冲区将具有您想要的数据量,并且不会存储整个流?我正在寻找的是环形缓冲区吗?我知道我需要什么,但不知道它叫什么。我当前将整个解压缩数据分配到一个缓冲区对象中,例如,当前使用Buffer[Buffer.length-1]来获取写入的最后一个字节。我
也许是一个你想要的内容长度的环形缓冲区?这样,当流结束时,缓冲区将具有您想要的数据量,并且不会存储整个流?我正在寻找的是环形缓冲区吗?我知道我需要什么,但不知道它叫什么。我当前将整个解压缩数据分配到一个缓冲区对象中,例如,当前使用Buffer[Buffer.length-1]来获取写入的最后一个字节。我需要的字节可以是缓冲区中的任何地方,这只是一个例子。你的问题是流的最后4095字节。如何确定需要哪些字节?基于许多变量,我计算从缓冲区末端到输出的位移,可能是一个环形缓冲区,它是您想要的内容的长度?这样,当流结束时,缓冲区将具有您想要的数据量,并且不会存储整个流?我正在寻找的是环形缓冲区吗?我知道我需要什么,但不知道它叫什么。我当前将整个解压缩数据分配到一个缓冲区对象中,例如,当前使用Buffer[Buffer.length-1]来获取写入的最后一个字节。我需要的字节可以是缓冲区中的任何地方,这只是一个例子。你的问题是流的最后4095字节。如何确定需要哪些字节?基于许多变量,我计算从缓冲区末端到输出的位移
var arr = Array(0xFFF) // allocate an array to use as a buffer
function writeByte(byte, stream){
arr.shift() // remove the first byte in the buffer
arr.push(byte) // push the new byte onto the end
stream.write([byte]) // send the byte to the stream
}