靜態方法: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]])。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。