静态方法:Buffer.allocUnsafe(size)
版本 | 变化 |
---|---|
v15.0.0 | 对于无效的输入参数,抛出 ERR_INVALID_ARG_VALUE 而不是 ERR_INVALID_OPT_VALUE。 |
v7.0.0 | 传递否定的 |
v5.10.0 | 添加于:v5.10.0 |
参数
size
<integer> 新Buffer
的所需长度。
分配 size
字节的新 Buffer
。如果size
大于
或小于0,则抛出buffer.constants.MAX_LENGTH
。ERR_INVALID_ARG_VALUE
以这种方式创建的Buffer
实例的底层内存未初始化。新创建的Buffer
的内容未知,可能包含敏感数据。改用
将 Buffer.alloc()
Buffer
实例初始化为零。
import { Buffer } from 'node:buffer'; const buf = Buffer.allocUnsafe(10); console.log(buf); // Prints (contents may vary): <Buffer a0 8b 28 3f 01 00 00 00 50 32> buf.fill(0); console.log(buf); // Prints: <Buffer 00 00 00 00 00 00 00 00 00 00>
const { Buffer } = require('node:buffer'); const buf = Buffer.allocUnsafe(10); console.log(buf); // Prints (contents may vary): <Buffer a0 8b 28 3f 01 00 00 00 50 32> buf.fill(0); console.log(buf); // Prints: <Buffer 00 00 00 00 00 00 00 00 00 00>
如果 size
不是数字,则会抛出 TypeError
。
Buffer
模块预先分配一个大小为
的内部 Buffer.poolSize
Buffer
实例,用作快速分配使用
、 Buffer.allocUnsafe()
、 Buffer.from(array)
创建的新 Buffer.concat()
Buffer
实例的池,并且仅当 size
小于或等于 Buffer.poolSize >> 1
(
的下限除以 2)时才使用已弃用的 Buffer.poolSize
new Buffer(size)
构造函数。
使用此预先分配的内部内存池是调用 Buffer.alloc(size, fill)
与 Buffer.allocUnsafe(size).fill(fill)
之间的关键区别。具体来说,Buffer.alloc(size, fill)
永远不会使用内部 Buffer
池,而如果 size
小于或等于
的一半,Buffer.poolSize
Buffer.allocUnsafe(size).fill(fill)
将使用内部 Buffer
池。差异很细微,但在应用程序需要
提供的额外性能时可能很重要。Buffer.allocUnsafe()
相关用法
- Node.js Buffer.allocUnsafe()用法及代码示例
- Node.js Buffer.allocUnsafeSlow(size)用法及代码示例
- Node.js Buffer.allocUnsafeSlow()用法及代码示例
- Node.js Buffer.alloc(size[, fill[, encoding]])用法及代码示例
- Node.js Buffer.alloc()用法及代码示例
- Node.js Buffer.fill()用法及代码示例
- Node.js Buffer.writeInt16BE()用法及代码示例
- Node.js Buffer.writeDoubleBE()用法及代码示例
- Node.js Buffer.entries()用法及代码示例
- Node.js Buffer.writeUInt16LE()用法及代码示例
- Node.js Buffer.byteLength()用法及代码示例
- Node.js Buffer.isBuffer()用法及代码示例
- Node.js Buffer.writeUInt32BE()用法及代码示例
- Node.js Buffer.equals()用法及代码示例
- Node.js Buffer.values()用法及代码示例
- Node.js Buffer.isEncoding()用法及代码示例
- Node.js Buffer.isEncoding(encoding)用法及代码示例
- Node.js Buffer.concat(list[, totalLength])用法及代码示例
- Node.js Buffer.subarray()用法及代码示例
- Node.js Buffer.writeDoubleLE()用法及代码示例
- Node.js Buffer.includes()用法及代码示例
- Node.js Buffer.readInt32BE()用法及代码示例
- Node.js Buffer.writeIntLE()用法及代码示例
- Node.js Buffer.from(array)用法及代码示例
- Node.js Buffer.swap16()用法及代码示例
注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 Buffer.allocUnsafe(size)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。