无法在节点JS中将一个缓冲区复制到另一个缓冲区中

时间:2016-05-26 08:52:27

标签: node.js buffer

我想在另一个缓冲区中复制我的一个缓冲区的一些元素。我在REPL上输入以下命令

assn1.copy(assn3,0,40,59)

assn1是源缓冲区assn3是目标缓冲区

但我收到了以下错误。

TypeError: assn1.copy is not a function
at repl:1:7
at REPLServer.defaultEval (repl.js:270:27)
at bound (domain.js:287:14)
at REPLServer.runBound [as eval] (domain.js:300:12)
at REPLServer.<anonymous> (repl.js:439:10)
at emitOne (events.js:95:20)
at REPLServer.emit (events.js:182:7)
at REPLServer.Interface._onLine (readline.js:211:10)
at REPLServer.Interface._line (readline.js:550:8)
at REPLServer.Interface._ttyWrite (readline.js:827:14)

帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

assn1 = ARR;

实际上并没有将数组复制到缓冲区中,而是将变量重新分配给数组对象,这样就丢失了缓冲区对象。

尝试这样的事情:

var a = [1, 2, 8, 9];
var buf1 = new Buffer(a);
var b = [3, 4];
new Buffer(b).copy(buf1, 2, 0, 2);
console.log(buf1);

为我提供此输出:

<Buffer 01 02 03 04>

希望这有帮助。