From 9a5ce3c1840ff6c4af5b8d4fc69cf23cc4835603 Mon Sep 17 00:00:00 2001 From: Karl Skomski Date: Thu, 21 Jan 2016 17:53:47 +0100 Subject: [PATCH] doc: add buf.indexOf encoding arg with example --- doc/api/buffer.markdown | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/doc/api/buffer.markdown b/doc/api/buffer.markdown index 090a3eef51acbd..4b0cdd885dc283 100644 --- a/doc/api/buffer.markdown +++ b/doc/api/buffer.markdown @@ -490,17 +490,21 @@ Buffer. The method returns a reference to the Buffer so calls can be chained. console.log(b.toString()); // Prints: hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh -### buf.indexOf(value[, byteOffset]) +### buf.indexOf(value[, byteOffset][, encoding]) * `value` String, Buffer or Number * `byteOffset` Number, Optional, Default: 0 +* `encoding` String, Optional, Default: `utf8` * Return: Number Operates similar to [`Array#indexOf()`][] in that it returns either the starting index position of `value` in Buffer or `-1` if the Buffer does not -contain `value`. The `value` can be a String, Buffer or Number. Strings are -interpreted as UTF8. Buffers will use the entire Buffer (to compare a partial -Buffer use [`Buffer#slice()`][]). Numbers can range from 0 to 255. +contain `value`. +The `value` can be a String, Buffer or Number. +Strings are by default interpreted as UTF8. +Buffers will use the entire Buffer (to compare a partial +Buffer use [`Buffer#slice()`][]). +Numbers can range from 0 to 255. const buf = new Buffer('this is a buffer'); @@ -517,6 +521,11 @@ Buffer use [`Buffer#slice()`][]). Numbers can range from 0 to 255. buf.indexOf(new Buffer('a buffer example').slice(0,8)); // returns 8 + const utf16Buffer = new Buffer('\u039a\u0391\u03a3\u03a3\u0395', 'ucs2'); + + assert.equal(4, utf16Buffer.indexOf('\u03a3', 0, 'ucs2'), 'First Sigma'); + assert.equal(6, utf16Buffer.indexOf('\u03a3', -4, 'ucs2'), 'Second Sigma'); + ### buf.includes(value[, byteOffset][, encoding]) * `value` String, Buffer or Number