Bird
Raised Fist0
Node.jsframework~5 mins

Buffer to string conversion in Node.js - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is a Buffer in Node.js?
A Buffer is a special object in Node.js used to store raw binary data. It helps handle data like files or network packets before converting them to strings or other formats.
Click to reveal answer
beginner
How do you convert a Buffer to a string in Node.js?
Use the toString() method on the Buffer object. For example: buffer.toString() converts the buffer's binary data into a readable string.
Click to reveal answer
beginner
What encoding does buffer.toString() use by default?
By default, buffer.toString() uses UTF-8 encoding to convert the binary data into a string.
Click to reveal answer
intermediate
How can you convert only part of a Buffer to a string?
You can pass start and end positions to toString(), like buffer.toString('utf8', start, end). This converts only the bytes between start and end to a string.
Click to reveal answer
intermediate
Why might you need to specify encoding when converting a Buffer to a string?
Different data might use different encodings like UTF-8, ASCII, or Base64. Specifying encoding ensures the Buffer converts correctly to the intended string format.
Click to reveal answer
What method converts a Node.js Buffer to a string?
AtoString()
BtoBuffer()
Cconvert()
Dstringify()
What is the default encoding used by buffer.toString()?
AASCII
BUTF-8
CBase64
DUTF-16
How do you convert only a part of a Buffer to a string?
Abuffer.slice(start, end).toString()
Bbuffer.toString(start, end)
Cbuffer.toString('utf8', start, end)
Dbuffer.convert(start, end)
Which of these is NOT a valid encoding option for Buffer to string conversion?
Autf8
Bascii
Cbinary
Djson
Why might you convert a Buffer to a string in Node.js?
ATo read binary data as human-readable text
BTo increase Buffer size
CTo encrypt data
DTo create a new Buffer
Explain how to convert a Node.js Buffer to a string and why encoding matters.
Think about how raw data becomes readable text.
You got /4 concepts.
    Describe how to convert only a part of a Buffer to a string in Node.js.
    Partial conversion helps when you want a slice of data.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the toString() method do when called on a Node.js Buffer?
      easy
      A. Changes the buffer data to uppercase letters
      B. Deletes the buffer data permanently
      C. Creates a new buffer with double the size
      D. Converts the raw buffer data into a readable string using an encoding

      Solution

      1. Step 1: Understand Buffer data

        A Buffer holds raw binary data that is not human-readable.
      2. Step 2: Role of toString()

        The toString() method converts this raw data into a readable string using a specified encoding, defaulting to UTF-8.
      3. Final Answer:

        Converts the raw buffer data into a readable string using an encoding -> Option D
      4. Quick Check:

        Buffer.toString() = readable string [OK]
      Hint: Remember: toString() makes buffer data human-readable [OK]
      Common Mistakes:
      • Thinking toString() deletes or modifies buffer data
      • Confusing buffer size changes with toString()
      • Assuming toString() changes letter case
      2. Which of the following is the correct syntax to convert a Buffer named buf to a string using ASCII encoding?
      easy
      A. buf.toString('ascii')
      B. buf.toString(ascii)
      C. buf.toString[ascii]
      D. buf.toString{ascii}

      Solution

      1. Step 1: Check method syntax

        The toString() method takes an optional encoding as a string argument inside parentheses.
      2. Step 2: Validate correct usage

        Passing the encoding as a string literal like 'ascii' inside parentheses is correct syntax.
      3. Final Answer:

        buf.toString('ascii') -> Option A
      4. Quick Check:

        toString('encoding') uses quotes and parentheses [OK]
      Hint: Encoding must be a string inside parentheses [OK]
      Common Mistakes:
      • Omitting quotes around encoding
      • Using square or curly brackets instead of parentheses
      • Passing encoding as a variable without quotes
      3. What will be the output of this code?
      const buf = Buffer.from('48656c6c6f', 'hex');
      console.log(buf.toString());
      medium
      A. 48656c6c6f
      B. Hello
      C. Error: Invalid buffer
      D. undefined

      Solution

      1. Step 1: Create buffer from hex string

        The buffer contains bytes representing the hex values for characters: 48='H', 65='e', 6c='l', 6c='l', 6f='o'.
      2. Step 2: Convert buffer to string

        Calling toString() without encoding defaults to UTF-8, decoding bytes to 'Hello'.
      3. Final Answer:

        Hello -> Option B
      4. Quick Check:

        Buffer.from(hex).toString() = decoded text [OK]
      Hint: Hex buffer toString() shows decoded text, not hex [OK]
      Common Mistakes:
      • Expecting output to be the hex string itself
      • Assuming toString() throws error on hex buffers
      • Confusing buffer content with string representation
      4. Identify the error in this code snippet:
      const buf = Buffer.from('hello');
      const str = buf.toString(utf8);
      console.log(str);
      medium
      A. toString() cannot convert buffers
      B. Buffer.from() requires encoding argument
      C. utf8 should be a string: 'utf8'
      D. console.log() is missing parentheses

      Solution

      1. Step 1: Check toString() argument

        The encoding argument must be a string literal, so it should be 'utf8' with quotes.
      2. Step 2: Identify error cause

        Passing utf8 without quotes causes a ReferenceError because utf8 is undefined as a variable.
      3. Final Answer:

        utf8 should be a string: 'utf8' -> Option C
      4. Quick Check:

        Encoding must be quoted string [OK]
      Hint: Always quote encoding names in toString() [OK]
      Common Mistakes:
      • Forgetting quotes around encoding
      • Thinking Buffer.from() always needs encoding
      • Misreading console.log syntax
      5. You have a Buffer buf containing UTF-8 encoded text. How do you convert only the first 5 bytes to a string?
      hard
      A. buf.toString('utf8', 0, 5)
      B. buf.toString(0, 5)
      C. buf.toString('utf8').slice(0, 5)
      D. buf.toString(5)

      Solution

      1. Step 1: Understand toString() parameters

        The toString() method can take encoding, start, and end byte positions.
      2. Step 2: Use correct parameter order

        To convert first 5 bytes, call toString('utf8', 0, 5) specifying encoding and byte range.
      3. Final Answer:

        buf.toString('utf8', 0, 5) -> Option A
      4. Quick Check:

        toString(encoding, start, end) slices buffer [OK]
      Hint: Use toString with encoding and byte range [OK]
      Common Mistakes:
      • Omitting encoding argument
      • Using slice on string instead of buffer
      • Passing wrong parameter order