我有这个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函数。有什么建议?
答案 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;