Buffer.Copy RangeError

时间:2015-01-27 16:33:35

标签: node.js buffer

这段代码产生以下示例输出:

buf = new Buffer( end - start );

console.log(buf.length);
console.log(data.length);
console.log(start);
console.log(end);

data.copy( buf, 0, start, end );

拳头电话:

3732395 // buf.len
3732395 // data.len
0       // start
3732395 // end

第二个电话:

29611   // buf.len
3732395 // data.len
3702784 // start
3732395 // end

RangeError: sourceEnd < sourceStart
    at Buffer.copy [..]

似乎所有参数都很好。特别是起始值和结束值不符合错误消息。 我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

令人尴尬地,我将strings作为参数传递,但没有产生预期的结果。 Buffer.copyv0.10.28)内的此调用会将this.offset附加到我的字符串,从而导致错误被抛出。

return this.parent.copy(target.parent || target,
                        target_start + (target.offset || 0),
                        start + this.offset,
                        end + this.offset);