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