(node:3872) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issue

 NodeJS运行下列代码时报错

var numbers = Buffer("123456789");

 

(node:3872) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.

文档:

https://www.nodeapp.cn/deprecations.html#deprecations_dep0005_buffer_constructor

DEP0005:Buffer()构造函数

类型:仅限文档

由于API可用性问题而不推荐使用该Buffer()函数和new Buffer()构造函数,这可能会导致意外的安全问题。

作为替代方案,Buffer强烈建议使用以下构造对象的方法:

解决实现:

var numbers = Buffer.from("123456789");

 不再报错

结论:

new Buffer() 和Buffer()函数已经废弃

类方法:Buffer.from(buffer)#

新增于: v5.10.0

  • buffer <Buffer> 一个要拷贝数据的已存在的 Buffer

将传入的 buffer 数据拷贝到一个新建的 Buffer 实例。

例子:

const buf1 = Buffer.from('buffer');
const buf2 = Buffer.from(buf1);

buf1[0] = 0x61;

// 输出: auffer
console.log(buf1.toString());

// 输出: buffer
console.log(buf2.toString());

如果 buffer 不是一个 Buffer,则抛出 TypeError 错误。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值