节点js中的buffer.copy()有什么用处?

我想知道nodejs应用程序中buffer.copy()的用法。 请解释任何实时的例子? 还有节点js中复制和切片方法之间的区别。 怎么运行的?

与string不同,Node中的缓冲区是可变的。 这意味着你可以创build一个缓冲区,把它传递到别的地方,当它在一个地方改变时,它会在两个地方改变,这并不总是你想要的。 如果你想确保什么都不能改变你的缓冲区,那么你需要复制它。

slice()返回一个新的缓冲区,它是旧的缓冲区的一部分,类似于slice()对string或数组的作用。

buffer.copy()复制一个缓冲区。 这里是一个例子

 var buffer1 = new Buffer('ABC'); //copy a buffer var buffer2 = new Buffer(3); buffer1.copy(buffer2); console.log("buffer2 content: " + buffer2.toString()); 

当执行上述程序时,会产生以下结果 –

 buffer2 content: ABC 

使用buffer.slice()方法获取节点缓冲区的子缓冲区 – 以下是示例。

 var buffer1 = new Buffer('maximizedPoint'); //slicing a buffer var buffer2 = buffer1.slice(0,9); console.log("buffer2 content: " + buffer2.toString()); 

当执行上述程序时,会产生以下结果 –

 buffer2 content: maximized