NodeJS中如何将字节数组转换为二进制格式输出
Node.js Buffer转二进制字符串实现方案
无需引入第三方NPM依赖,直接通过Node.js原生API即可实现需求,核心逻辑是将Buffer中每个字节转换为8位固定长度的二进制字符串,再拼接为整体结果:
// 转换函数:接收Buffer参数,返回拼接完成的二进制字符串 function bufferToBinaryStr(buf) { return Array.from(buf) .map(byte => byte.toString(2).padStart(8, '0')) .join(''); } // 测试示例,使用你提供的Buffer构造 const myBuffer = Buffer.from([0x0a, 0x0d, 0x42, 0x69, 0x67, 0x20, 0x42, 0x6f, 0x62, 0x20, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x10, 0x1e, 0x1a, 0x12, 0x62, 0x69, 0x67, 0x62, 0x6f, 0x62, 0x40, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d]); const binaryResult = bufferToBinaryStr(myBuffer); console.log(binaryResult);
byte.toString(2)会将十进制字节值转换为二进制字符串,但不会自动补前导0,比如十六进制0x0a转换后为1010,仅4位padStart(8, '0')会将不足8位的二进制字符串补前导0到固定8位,保证每个字节对应8个二进制字符,拼接后的结果完全匹配你给出的示例格式
内容的提问来源于stack exchange,提问作者reselbob
相关产品推荐
相关产品推荐

