静态方法:Buffer.alloc(size[, fill[, encoding]])
历史
版本 | 变化 |
---|---|
v15.0.0 | 对于无效的输入参数,抛出 ERR_INVALID_ARG_VALUE 而不是 ERR_INVALID_OPT_VALUE。 |
v10.0.0 | 尝试用零长度缓冲区填充非零长度缓冲区会触发抛出的异常。 |
v10.0.0 | 为 |
v8.9.3 | 为 |
v5.10.0 | 添加于:v5.10.0 |
参数
size
<integer> 新Buffer
的所需长度。fill
<string> | <Buffer> | <Uint8Array> | <integer> 用于预填充新Buffer
的值。 默认:0
。encoding
<string> 如果fill
是一个字符串,这就是它的编码。 默认:'utf8'
。
分配 size
字节的新 Buffer
。如果 fill
是 undefined
,则 Buffer
将是 zero-filled。
import { Buffer } from 'node:buffer'; const buf = Buffer.alloc(5); console.log(buf); // Prints: <Buffer 00 00 00 00 00>
const { Buffer } = require('node:buffer'); const buf = Buffer.alloc(5); console.log(buf); // Prints: <Buffer 00 00 00 00 00>
如果size
大于
或小于0,则抛出buffer.constants.MAX_LENGTH
。ERR_INVALID_ARG_VALUE
如果指定了fill
,则分配的Buffer
将通过调用
来初始化。buf.fill(fill)
import { Buffer } from 'node:buffer'; const buf = Buffer.alloc(5, 'a'); console.log(buf); // Prints: <Buffer 61 61 61 61 61>
const { Buffer } = require('node:buffer'); const buf = Buffer.alloc(5, 'a'); console.log(buf); // Prints: <Buffer 61 61 61 61 61>
如果同时指定 fill
和 encoding
,则分配的 Buffer
将通过调用
来初始化。buf.fill(fill, encoding)
import { Buffer } from 'node:buffer'; const buf = Buffer.alloc(11, 'aGVsbG8gd29ybGQ=', 'base64'); console.log(buf); // Prints: <Buffer 68 65 6c 6c 6f 20 77 6f 72 6c 64>
const { Buffer } = require('node:buffer'); const buf = Buffer.alloc(11, 'aGVsbG8gd29ybGQ=', 'base64'); console.log(buf); // Prints: <Buffer 68 65 6c 6c 6f 20 77 6f 72 6c 64>
调用
可能比替代方法 Buffer.alloc()
慢得多,但可以确保新创建的 Buffer.allocUnsafe()
Buffer
实例内容永远不会包含来自先前分配的敏感数据,包括可能尚未为 Buffer
分配的数据。
如果 size
不是数字,则会抛出 TypeError
。
相关用法
- Node.js Buffer.alloc()用法及代码示例
- Node.js Buffer.allocUnsafe()用法及代码示例
- Node.js Buffer.allocUnsafeSlow(size)用法及代码示例
- Node.js Buffer.allocUnsafe(size)用法及代码示例
- Node.js Buffer.allocUnsafeSlow()用法及代码示例
- 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.alloc(size[, fill[, encoding]])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。