To loop through a Buffer instance we can use the entries() method available in the buffer instance with the for...of looping statement.
Let's say we have a Buffer instance with String Hello World! like his,
// Buffer instance with string Hello World!
const buff = Buffer.from("Hello World!");
Now to loop through the Buffer let's use the entries() method and the for...of looping statement like this,
// Buffer instance with string Hello World!
const buff = Buffer.from("Hello World!");
// loop through buffer instance
for (let pair of buff.entries()) {
console.log(pair);
}
- The
entries()method returns the data in[index, byte]format.
The output of the above code looks like this.
/*
[ 0, 72 ]
[ 1, 101 ]
[ 2, 108 ]
[ 3, 108 ]
[ 4, 111 ]
[ 5, 32 ]
[ 6, 87 ]
[ 7, 111 ]
[ 8, 114 ]
[ 9, 108 ]
[ 10, 100 ]
[ 11, 33 ]
*/
But if you don't want this in the [index, byte] format but as a single string, you can use the String.fromCharCode() method to get the appropriate character inside the loop like this,
// Buffer instance with string Hello World!
const buff = Buffer.from("Hello World!");
// loop through buffer instance
for (let pair of buff.entries()) {
// get the byte of character
const charCode = pair[1];
// use String.fromCharCode() to get the appropriate character
// for the byte
console.log(String.fromCharCode(charCode));
}
The output of the above code looks like this,
/*
H
e
l
l
o
W
o
r
l
d
!
*/
See this example live in repl.it.