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