From 4e6a44db107ef55beedd17fc03c68809b4c21edc 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 param with example PR-URL: https://github.com/nodejs/node/pull/3373 Reviewed-By: Trevor Norris --- doc/api/buffer.markdown | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/doc/api/buffer.markdown b/doc/api/buffer.markdown index 9c202044dac857..d64825f6dc0acb 100644 --- a/doc/api/buffer.markdown +++ b/doc/api/buffer.markdown @@ -532,17 +532,18 @@ 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. ```js const buf = new Buffer('this is a buffer'); @@ -559,6 +560,13 @@ buf.indexOf(new Buffer('a buffer example')); // returns -1 buf.indexOf(new Buffer('a buffer example').slice(0,8)); // returns 8 + +const utf16Buffer = new Buffer('\u039a\u0391\u03a3\u03a3\u0395', 'ucs2'); + +utf16Buffer.indexOf('\u03a3', 0, 'ucs2'); + // returns 4 +utf16Buffer.indexOf('\u03a3', -4, 'ucs2'); + // returns 6 ``` ### buf.includes(value[, byteOffset][, encoding])