buf.indexOf()

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

  • value {String} | {Buffer} | {Number}
  • byteOffset {Number} 默认:0
  • encoding {String} 默认:'utf8'
  • 返回:{Number}
该操作类似于 Array#indexOf() ,它返回 value 在 Buffer 中的最开始的索引位置,如果当前 Buffer 不包含这个 value 则返回 -1 。这个 value 的值可以是 String 、Buffer 或 Number 。字符串会默认用 UTF8 解释执行。Buffer 将会使用整个 Buffer(比较部分 Buffer 请使用 buf.slice() 方法)。数字在 0 到 255 的范围内。 ``` const buf = Buffer.from('this is a buffer');

buf.indexOf('this');
// returns 0
buf.indexOf('is');
// returns 2
buf.indexOf(Buffer.from('a buffer'));
// returns 8
buf.indexOf(97); // ascii for 'a'
// returns 8
buf.indexOf(Buffer.from('a buffer example'));
// returns -1
buf.indexOf(Buffer.from('a buffer example').slice(0, 8));
// returns 8

const utf16Buffer = Buffer.from('\u039a\u0391\u03a3\u03a3\u0395', 'ucs2');

utf16Buffer.indexOf('\u03a3', 0, 'ucs2');
// returns 4
utf16Buffer.indexOf('\u03a3', -4, 'ucs2');
// returns 6

posted @ 2018-11-05 12:46  sfornt  阅读(509)  评论(0编辑  收藏  举报