In Node.js, un buffer è un oggetto globale usato per lavorare con un flusso di dati binari. Utilizzarlo è come utilizzare un array in JavaScript, ma i buffer sono più potenti perché possono gestire flussi di dati binari più grandi.
Ecco un esempio di come utilizzare un buffer in Node.js:
```
// creare un buffer vuoto che può contenere 20 byte
var buf = Buffer.alloc(20);
// creare un buffer a partire da una stringa
var buf = Buffer.from(‘Ciao Mondo’, ‘utf-8’);
// scrivere dati nel buffer
buf.write(“Ciao”);
// leggere dati dal buffer
var str = buf.toString(‘utf-8’);
// convertire il buffer in JSON
var json = buf.toJSON();
```
Un oggetto Buffer ha una serie di metodi utili per lavorare con flussi di dati binari, tra cui `write()`, `toString()`, `toJSON()`, `slice()`, `length`, ecc.
Ecco alcuni dettagli:
- La funzione ‘Buffer.alloc(size)’ viene utilizzata per creare un nuovo buffer di una data dimensione.
- La funzione ‘Buffer.from(string, encoding)’ viene utilizzata per creare un nuovo buffer da una stringa e un encoding. L’encoding di default è ‘utf8’.
- Il metodo ‘write(string\[, offset]\[, length][, encoding])’ scrive la stringa nel buffer ad un determinato offset e lunghezza. Se non specificati, verrà scritta l’intera stringa.
- Il metodo ‘toString(\[encoding]\[, start][, end])’ converte il buffer in una stringa utilizzando l’encoding specificato, e può anche delimitare la conversione utilizzando gli indici di inizio e fine.
- Il metodo ‘toJSON()’ ritorna una rappresentazione JSON del buffer.