📜  Node.js | Buffer.indexOf() 方法(1)

📅  最后修改于: 2023-12-03 15:03:14.897000             🧑  作者: Mango

Node.js | Buffer.indexOf() 方法

Buffer.indexOf() 方法用于在 Buffer 中搜索指定 value 的索引位置,如果找到了,则返回第一个匹配项的索引位置。如果没找到,则返回 -1

语法

以下是 Buffer.indexOf() 方法的语法:

buffer.indexOf(value[, byteOffset][, encoding])

参数说明:

  • value:要查找的值,可以是 Buffer 对象、stringinteger
  • byteOffset:开始搜索的位置,默认是 0
  • encoding:如果 valuestring,则指定该参数。
返回值

如果找到了,则返回第一个匹配项的索引位置。如果没找到,则返回 -1

示例

以下是一个简单的 Buffer 查找示例:

const buf = Buffer.from('Hello World');

// 从默认位置开始搜索
console.log(buf.indexOf('World')); // 输出 6

// 指定从第 3 个字节开始搜索
console.log(buf.indexOf('World', 3)); // 输出 6

// 指定从第 8 个字节开始搜索
console.log(buf.indexOf('World', 8)); // 输出 -1
注意事项
  • 如果 encoding 被指定,则 value 必须是 string 类型。
  • 如果找到了匹配项,则 byteOffset 参数默认不会改变;如果没找到,则返回 -1
  • 如果 byteOffset 参数超出了 Buffer 的长度,则返回 -1
  • 如果 byteOffset 参数小于 0,则会从 Buffer 的末尾开始搜索。