0
点赞
收藏
分享

微信扫一扫

Node.js Buffer静态方法

Buffer对象是Node处理二进制数据的一个接口。它是Node原生提供的全局对象,可以直接使用,不需要require(‘buffer’)。

静态方法:

  • Buffer.isEncoding() 判断是否支持该编码
  • Buffer.isBuffer() 判断是否为 Buffer
  • Buffer.byteLength() 返回指定编码的字节长度,默认 utf8
  • Buffer.concat() 将一组Buffer 对象合并为一个 Buffer 对象
  1. Buffer.isEncoding() 判断是否支持该编码

// Buffer.isEncoding() 判断是否支持该编码
console.log(Buffer.isEncoding('utf8'));   // 返回true
console.log(Buffer.isEncoding('ascii'));  // 返回true
console.log(Buffer.isEncoding('utf16le'));  // 返回true
console.log(Buffer.isEncoding('ucs2'));    // 返回true
console.log(Buffer.isEncoding('base64'));  // 返回true
console.log(Buffer.isEncoding('latin1'));  // 返回true
console.log(Buffer.isEncoding('binary'));  // 返回true
console.log(Buffer.isEncoding('hex'));    // 返回true
console.log(Buffer.isEncoding('gbk'));   // 返回false

  1. Buffer.isBuffer() 判断是否为 Buffer

// Buffer.isBuffer() 判断是否为 Buffer
let buf = Buffer.from('Hello');
console.log(Buffer.isBuffer(buf)); // 返回 true
console.log(Buffer.isBuffer({}));  // 返回 false

  1. Buffer.byteLength() 返回指定编码的字节长度,默认 utf8

// Buffer.byteLength() 返回指定编码的字节长度,默认 utf8
let buf_1 = Buffer.from('基础', 'ascii');
console.log(Buffer.byteLength(buf_1));
console.log(buf_1);
console.log(buf_1.toString());
console.log("----------------------");
let buf_2 = Buffer.from('基础', 'utf8');
console.log(Buffer.byteLength(buf_2));
console.log(buf_2);
console.log(buf_2.toString());
console.log("----------------------");
let buf_3 = Buffer.from('基础', 'utf16le');
console.log(Buffer.byteLength(buf_3));
console.log(buf_3);
console.log(buf_3.toString());
console.log("----------------------");

运行结果:
Node.js Buffer静态方法_字符串

  1. Buffer.concat() 将一组Buffer 对象合并为一个 Buffer 对象
    (1)将初始的2个实例化对象进行合并

// Buffer.concat() 将一组Buffer 对象合并为一个 Buffer 对象
let buf_1 = Buffer.alloc(4);
let buf_2 = Buffer.alloc(5);
let buf_3 = Buffer.concat([buf_1, buf_2]);
console.log(Buffer.byteLength(buf_3));  // 返回字节长度为 9

(2)将字符串进行合并

// Buffer.concat() 将一组Buffer 对象合并为一个 Buffer 对象
let buf_1 = Buffer.from('VV');
let buf_2 = Buffer.from('cat');
let buf_3 = Buffer.concat([buf_1, buf_2]);
console.log(Buffer.byteLength(buf_3));   // 合并后返回字节长度为 5
console.log(buf_3.toString());     // 返回字符串为 VVcat

举报

相关推荐

0 条评论