如何将Node.js缓冲区打印为二进制



我有一个类似的Buffer对象

<Buffer FF 00>

如何将其打印为实际的1和0,就像这个一样

11111111 00000000

我们可以使用.map和一个将每个字节转换为二进制表示的函数。使用.join((将为我们提供组合的二进制字符串。如果您只想要一个数组作为输出,那么可以省略.join((调用。

function byteToBinaryString(s) {
return s.toString(2).padStart(8, '0');
}
const buffer = Buffer.from('abcd');
console.log([...buffer].map(byteToBinaryString).join(" "));

对于这个例子,我们将看到这样的输出:

01100001 01100010 01100011 01100100
function toBinaryString (buf) {
let result = []
for (let b of buf) {
result.push(b.toString(2).padStart(8, '0'))
}
return result.join(' ')
}

用法:

> toBinaryString(Buffer.from('test'))
'01110100 01100101 01110011 01110100'

最新更新