El módulo que se utiliza para el funcionamiento basado en búfer es el módulo de búfer.
Módulo de búfer: el módulo de búfer proporciona una forma de manejar flujos de datos binarios. Los búferes están diseñados para manejar datos binarios sin procesar. Los búferes asignan memoria sin formato fuera del montón V8. El objeto Buffer es un objeto global en Node.js y no es importante importarlo usando la palabra clave requerida.
Sintaxis:
const buf = Buffer.alloc(n);
Aquí, n es el número entero para el tamaño del búfer.
Ejemplo 1: Escritura en buffers.
En el siguiente ejemplo, hemos utilizado el método buf.write() para escribir datos en un búfer de Node.
buf.write( string, offset, length, encoding )
- string: especifica los datos de la string que se escribirán en el búfer.
- offset: especifica el índice en el que el búfer comienza a escribir. Su valor por defecto es 0.
- length: Especifica el número de bytes a escribir. Su valor predeterminado es buffer.length.
- codificación: Especifica el mecanismo de codificación. Su valor por defecto es ‘utf-8’.
Javascript
const cbuf = Buffer.alloc(256); bufferlen = cbuf.write("Let's do this with GeeksForGeeks"); console.log("No. of Octets in which string is written : "+ bufferlen);
Producción:
El código anterior crea un archivo de búfer y proporciona el resultado esperado.
Ejemplo 2: Lea los datos del búfer de Node.js especificando el punto de inicio y final de la lectura. Cree un archivo buffer.js que contenga el siguiente código.
El método buf.toString() acepta los siguientes parámetros:
Sintaxis:
buf.toString( encoding, start, end )
- codificación: Especifica el mecanismo de codificación. Su valor por defecto es ‘utf-8’.
- inicio: Especifica el índice para comenzar a leer. Su valor por defecto es 0.
- end: Especifica el índice para finalizar la lectura. Su valor predeterminado es un búfer completo.
Javascript
const rbuf = Buffer.alloc(26); let j; for (let i = 65, j = 0; i < 90, j < 26; i++, j++) { rbuf[j] = i; } console.log(rbuf.toString('utf-8', 3, 9));
El código anterior se lee de un archivo desde el punto de inicio que especificamos e imprime la salida en la terminal