在node.js Buffer中搜索字节模式

时间:2016-07-06 13:06:01

标签: node.js

我有这个node.js缓冲区。

var test_buf = "5E4D802158D002001022201022AB778899A1B2C3";
var buffer_hex = new Buffer(test_buf, "hex");

我想在77 88 99中搜索字节模式buffer_hex的存在。从教程http://www.tutorialspoint.com/nodejs/nodejs_buffers.htm,我找不到合适的Buffer函数。有什么建议?

2 个答案:

答案 0 :(得分:8)

如果需要偏移,可以使用buffer_hex.includes()(或.indexOf())来查找缓冲区内的特定值。 .includes()接受字符串,数字或其他缓冲区:

值得注意的是,自{5.3}以来.includes()可用。

console.log(buffer_hex.includes("778899", 0, "hex")); // boolean
console.log(buffer_hex.indexOf("778899", 0, "hex")); // number

请注意,自节点6以来,new Buffer()已被弃用。您应该使用Buffer.from()代替这些版本。

答案 1 :(得分:3)

您可以使用.indexOf()

let included = buffer_hex.indexOf('778899', 0, 'hex') !== -1;