1.Buffer.from(array)
作用:通过array创建一个新的Buffer。
var buf6=Buffer.from([1,2,3,62]);
console.log(buf6)
2.Buffer.from(arrayBuffer[, byteOffset[, length]])
作用:从arrayBuffer复制一个Buffer
参数含义:arrayBuffer:一个ArrayBuffer,
byteOffset:开始复制的索引。默认为0,
length:拷贝的字节数
var buf6=Buffer.from([1,2,3,62]);
var buf7=Buffer.from(buf6,0,2);
console.log('buf7',buf7)//buf7 <Buffer 01 02 03 3e> 可能是因为Buf6不是一个ArrayBuffer
//替换为一个ArrayBuffer
const ab = new ArrayBuffer(10);//创建一个新的ArrrayBuffer
const buf = Buffer.from(ab, 0, 2);
console.log(buf);//<Buffer 00 00>
console.log(ab)//ArrayBuffer { byteLength: 10 }
3.Buffer.from(buffer)
作用:将传入的 buffer 数据拷贝到一个新建的 Buffer 实例
// 改变buf8,不影响buf9
var buf8=Buffer.from('buffer');
var buf9=Buffer.from(buf8);
console.log(buf8)//<Buffer 62 75 66 66 65 72>
console.log(buf8.toString())//buffer
console.log('buf9',buf9)//buf9 <Buffer 62 75 66 66 65 72>
buf8[0]=61;//对buf8做出改变
console.log(buf8)//<Buffer 3d 75 66 66 65 72>
console.log(buf8.toString())//'=uffer'
console.log(buf9)//<Buffer 62 75 66 66 65 72>
console.log(buf9.toString())//buffer
4.Buffer.from(string[, encoding])
作用: 新建一个包含JS字符串的的Buffer。
参数意义:string:要编码的字符串。
encoding:编码格式。
var buf10=Buffer.from('this is a tést');
console.log(buf10)//<Buffer 74 68 69 73 20 69 73 20 61 20 74 c3 a9 73 74>
console.log(buf10.toString())//this is a tést
console.log(buf10.toString('ascii'));//this is a tC)st
const buf11 = Buffer.from('7468697320697320612074c3a97374', 'hex');
console.log(buf11.toString())//this is a tést
5.Buffer.from(obj,offsetOrEncoding,[length]
参数意义:obj:一个支持valueof()的对象。
offsetOrEncoding:偏移量或者是编码
length:长度
6.类方法:Buffer.isBuffer(obj)
作用:如果 obj 是一个 Buffer 则返回 true ,否则返回 false
var buf1={a:1};
console.log(Buffer.isBuffer(buf1))//false
var buf2='this is a test';
console.log(Buffer.isBuffer(buf2))//false
var buf3=Buffer.from([1,2,3]);
console.log(Buffer.isBuffer(buf3))//true
7.类方法:Buffer.isEncoding(encoding)
作用:如果 encoding 是一个支持的字符编码则返回 true,否则返回 false 。
var buf4=Buffer.from('this is a test','utf8');
console.log(Buffer.isEncoding('utf8'))//true
console.log(Buffer.isEncoding('assic'))//false