Los búferes son instancias de la clase Buffer en Node.js. 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. La clase de búfer es una clase global, por lo que se puede usar sin importar el módulo de búfer en una aplicación.
Creación de búferes: Las siguientes son las diferentes formas de crear búferes en Node.js:
- Crear un búfer no iniciado: crea el búfer no iniciado del tamaño dado.
Sintaxis:
var ubuf = Buffer.alloc(5);
- La sintaxis anterior se utiliza para crear un búfer no iniciado de 5 octetos.
- Crear un búfer a partir de una array: crea el búfer a partir de una array determinada.
Sintaxis:
var abuf = new Buffer([16, 32, 48, 64]);
- La sintaxis anterior se usa para crear un búfer a partir de una array determinada.
- Crear un búfer a partir de una string: crea un búfer a partir de una string dada con codificación opcional.
Sintaxis:
var sbuf = new Buffer("GeeksforGeeks", "ascii");
- La sintaxis anterior se usa para crear un búfer a partir de una string y el tipo de codificación también se puede especificar opcionalmente.
Escritura en búferes en Node.js: el método buf.write() se usa para escribir datos en un búfer de Node.
Sintaxis:
buf.write( string, offset, length, encoding )
El método buf.write() se utiliza para devolver el número de octetos en los que se escribe la string. Si el búfer no tiene suficiente espacio para que quepa toda la string, escribirá una parte de la string.
El método buf.write() acepta los siguientes parámetros:
- 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’.
Ejemplo: Cree un archivo buffer.js que contenga los siguientes códigos.
javascript
// Write JavaScript code here cbuf = new Buffer(256); bufferlen = cbuf.write("Learn Programming with GeeksforGeeks!!!"); console.log("No. of Octets in which string is written : "+ bufferlen);
Producción:
Lectura de búferes: el método buf.toString() se usa para leer datos de un búfer de Node.
Sintaxis:
buf.toString( encoding, start, end )
El método buf.toString() acepta los siguientes parámetros:
- 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 búfer completo.
Ejemplo 1: Cree un archivo buffer.js que contenga el siguiente código.
javascript
// Write JavaScript code here rbuf = new Buffer(26); var j; for (var i = 65, j = 0; i < 90, j < 26; i++, j++) { rbuf[j] = i ; } console.log( rbuf.toString('ascii'));
Producción:
Ejemplo 2: Lea los datos del búfer de Node.js especificando el punto de inicio y finalización de la lectura. Cree un archivo buffer.js que contenga el siguiente código.
javascript
// Write JavaScript code here rbuf = new Buffer(26); var j; for (var i = 65, j = 0; i < 90, j < 26; i++, j++) { rbuf[j] = i ; } console.log( rbuf.toString('utf-8', 3, 9));
Producción:
Publicación traducida automáticamente
Artículo escrito por chaitanyashah707 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA