node.js - 在 node.js 缓冲区中搜索字节模式

标签 node.js

我有这个 node.js 缓冲区。

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

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

最佳答案

您可以使用 buffer_hex.<a href="https://nodejs.org/api/buffer.html#buffer_buf_includes_value_byteoffset_encoding" rel="noreferrer noopener nofollow">includes()</a> (或 .indexOf() ,如果您需要偏移量)在缓冲区内查找特定值。 .includes()接受字符串、数字或其他缓冲区:

值得注意的是 .includes()从 Node 5.3.0 开始可用。

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

请注意new Buffer()自 Node 6 起已弃用。您应该使用 Buffer.from()而不是那些版本。

关于node.js - 在 node.js 缓冲区中搜索字节模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38224800/

相关文章:

javascript - 存储密码以登录到 3rd 方 API

javascript - 从一个模式计算一个值并将该值放入另一个模式 mongodb Node

javascript - Mongoose 保存时可以避免多层嵌套回调吗?

javascript - javascript或nodejs是否有索引范围来访问数组项?

node.js - Google App Engine - 前端和后端 Web 开发

node.js - PhoneRTC 演示应用程序

node.js - Microsoft Bot Framework verify Bot Framework() 始终返回 Forbidden

javascript - 添加 : RangeError: Maximum call stack size exceeded 之前填充

javascript - 请帮我获取哈希密码

javascript - 即使事件循环已被占用,如何始终以超时终止 NodeJs 脚本?