El método Buffer.swap16() es una interfaz de programación de aplicaciones incorporada de la clase Buffer dentro del módulo Buffer que se utiliza para intercambiar el orden de bytes del búfer en el lugar. El intercambio se realiza interpretando el búfer como una array de números de 16 bits.
Sintaxis:
Buffer.swap16()
Parámetros: este método no acepta ningún parámetro.
Valor de retorno: Devuelve una referencia al búfer intercambiado.
Error arrojado: arroja ERR_INVALID_BUFFER_SIZE si la longitud del búfer (buf.length) no es un múltiplo de 2.
Los siguientes ejemplos ilustran el uso del método Buffer.swap16() en Node.js:
Ejemplo 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);
Producción:
<Buffer 01 02 03 04 05 06 07 08> <Buffer 02 01 04 03 06 05 08 07>
Ejemplo 2: Este ejemplo muestra el error arrojado por este método.
// 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); }
Producción:
<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 ......
Nota: El programa anterior se compilará y ejecutará usando el node index.js
comando.
Referencia: https://nodejs.org/dist/latest-v13.x/docs/api/buffer.html#buffer_buf_swap16