From 847688018cb166eea7bfff9a9044a7295c17d5d8 Mon Sep 17 00:00:00 2001 From: Rick Bullotta Date: Fri, 19 May 2017 12:59:25 +0100 Subject: [PATCH] doc: don't suggest setEncoding for binary streams Removed an incorrect reference to the use of setEncoding(null) as the proper way to handling binary streams or to disable encoding, and explained that the default encoding is "no encoding", and that this is the correct approach for dealing with binary data via Buffers. PR-URL: https://github.com/nodejs/node/pull/11363 Fixes: https://github.com/nodejs/node/issues/11352 Refs: https://github.com/nodejs/node/issues/11316 Reviewed-By: Sam Roberts Reviewed-By: Matteo Collina Reviewed-By: Gibson Fahnestock --- doc/api/stream.md | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/doc/api/stream.md b/doc/api/stream.md index a1d37e24e55de7..db2f5ccc255326 100644 --- a/doc/api/stream.md +++ b/doc/api/stream.md @@ -920,13 +920,14 @@ added: v0.9.4 * `encoding` {string} The encoding to use. * Returns: `this` -The `readable.setEncoding()` method sets the default character encoding for +The `readable.setEncoding()` method sets the character encoding for data read from the Readable stream. -Setting an encoding causes the stream data -to be returned as string of the specified encoding rather than as `Buffer` +By default, no encoding is assigned and stream data will be returned as +`Buffer` objects. Setting an encoding causes the stream data +to be returned as strings of the specified encoding rather than as `Buffer` objects. For instance, calling `readable.setEncoding('utf8')` will cause the -output data will be interpreted as UTF-8 data, and passed as strings. Calling +output data to be interpreted as UTF-8 data, and passed as strings. Calling `readable.setEncoding('hex')` will cause the data to be encoded in hexadecimal string format. @@ -934,10 +935,6 @@ The Readable stream will properly handle multi-byte characters delivered through the stream that would otherwise become improperly decoded if simply pulled from the stream as `Buffer` objects. -Encoding can be disabled by calling `readable.setEncoding(null)`. This approach -is useful when working with binary data or with large multi-byte strings spread -out over multiple chunks. - ```js const readable = getReadableStreamSomehow(); readable.setEncoding('utf8');