首页 > 解决方案 > 如何将节点缓冲区打印为二进制文件?

问题描述

我有一个像

<Buffer FF 00>

我如何将它打印为实际的 1 和 0,就像这样

11111111 00000000

标签: javascriptnode.js

解决方案


我们可以使用 .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

推荐阅读