VSCode终端中如何完整显示Buffer及自定义显示前X字节?
如何完整显示Buffer及自定义输出前X个字节
完整显示Buffer对象
Node.js 默认会对较大的 Buffer 输出进行截断,要完整展示所有字节,可借助 util.inspect 方法并配置参数关闭截断:
const util = require('util'); const firstBuf = Buffer.alloc(1024); // 完整输出Buffer全部内容 console.log(util.inspect(firstBuf, { maxArrayLength: null }));
也可以将 Buffer 转为十六进制字符串直接输出,这种方式会展示所有字节的十六进制值:
console.log(firstBuf.toString('hex'));
如果需要按字节分组(每两个字符一组),可简单处理格式:
console.log(firstBuf.toString('hex').match(/.{2}/g).join(' '));
自定义显示前X个字节
要只展示前 X 个字节,直接用 Buffer.slice() 截取指定范围即可,截取后的 Buffer 用 console.log 输出默认不会截断(只要X值不大):
const firstBuf = Buffer.alloc(1024); const X = 20; // 自定义要显示的前20个字节 console.log(firstBuf.slice(0, X));
如果需要更规整的格式(比如带空格的十六进制),可结合切片与字符串转换:
console.log(firstBuf.slice(0, X).toString('hex').match(/.{2}/g).join(' '));
内容的提问来源于stack exchange,提问作者TungTung
相关产品推荐
相关产品推荐

