Buffer缓冲器(2)

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值