从Node.js缓冲区中删除元素

3
我有一个这样声明的node.js缓冲区;
var buffer_bin;
buffer_bin = new Buffer("ABCDEF", "hex");

buffer_bin中的内容是二进制字节"ab cd ef"。

我想要从buffer_bin中删除第一个字节ab,使得buffer_bin的内容变为"cd ef"。

1个回答

2
使用Buffer对象中的slice方法。
 var new_buffer_bin = buffer_bin.slice(1);

这是错误的,它将返回 "ab" 而不是 "cd ef",需要使用 splice 而不是 slice,但是 splice 不存在 :( - SSpoke
1
var new_buffer_bin = buffer_bin.slice(1); 时,返回值为 "cd ef",而 var new_buffer_bin = buffer_bin.slice(0, 1); 时,返回值为 "ab"。您可以将其与 Buffer concat 结合使用以重新实现 splice。@SSpoke - Et7f3XIV
1
请注意,buffer.slice()已被弃用,建议使用buffer.subarray() - Boltgolt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接