Open In App

Node.js Buffer.swap16() Method

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

The Buffer.swap16() method is an inbuilt application programming interface of class Buffer within Buffer module which is used to swap the buffer byte order in-place. The swapping is performed by interpreting buffer as an array of 16-bit numbers.

Syntax:

Buffer.swap16()

Parameters: This method does not accept any parameters.

Return value: It returns a reference to the swapped buffer.

Error thrown: It throws ERR_INVALID_BUFFER_SIZE if length of buffer (buf.length) is not a multiple of 2.

Below examples illustrate the use of Buffer.swap16() Method in Node.js:

Example 1:




// Node.js program to demonstrate the 
// Buffer.swap16() method 
      
// Creating a buffer 
const buf = Buffer.from([0x1, 0x2,
        0x3, 0x4, 0x5, 0x6, 0x7, 0x8]); 
  
// Display the buffer value
// before swap 
console.log(buf); 
  
// Using Buffer.swap16() method
buf.swap16();
      
// Display the result 
// after swap
console.log(buf); 


Output:

<Buffer 01 02 03 04 05 06 07 08>
<Buffer 02 01 04 03 06 05 08 07>

Example 2: This example display the error thrown by this method.




// Node.js program to demonstrate the 
// Buffer.swap16() method 
      
// Creating a buffer 
const buf = Buffer.from([0x7, 0x5, 0x2]); 
  
// Display the buffer value
// before swap 
console.log(buf); 
  
try {
    // Using Buffer.swap16() method
    // It will throw error
    buf.swap16();
  
    // Display the result 
    // after swap
    console.log(buf);
  
}
catch(e) {
    console.log("Entering catch block");
  
    // Display error
    console.log(e);
}


Output:

<Buffer 07 05 02>
Entering catch block
RangeError [ERR_INVALID_BUFFER_SIZE]: Buffer size
must be a multiple of 16-bits
    at Buffer.swap16 (buffer.js:1042:11)
    at /home/runner/index.js:14:9
    ......

Note: The above program will compile and run by using the node index.js command.

Reference: https://nodejs.org/dist/latest-v13.x/docs/api/buffer.html#buffer_buf_swap16



Last Updated : 13 Oct, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads