
- Node.js 教程
- Node.js - 首頁
- Node.js - 簡介
- Node.js - 環境搭建
- Node.js - 第一個應用程式
- Node.js - REPL 終端
- Node.js - 命令列選項
- Node.js - 包管理器 (NPM)
- Node.js - 回撥函式概念
- Node.js - 上傳檔案
- Node.js - 傳送郵件
- Node.js - 事件
- Node.js - 事件迴圈
- Node.js - 事件發射器
- Node.js - 偵錯程式
- Node.js - 全域性物件
- Node.js - 控制檯
- Node.js - 程序
- Node.js - 應用程式擴充套件
- Node.js - 打包
- Node.js - Express 框架
- Node.js - RESTful API
- Node.js - 緩衝區
- Node.js - 流
- Node.js - 檔案系統
- Node.js MySQL
- Node.js - MySQL 入門
- Node.js - MySQL 建立資料庫
- Node.js - MySQL 建立表
- Node.js - MySQL 插入資料
- Node.js - MySQL 查詢資料
- Node.js - MySQL 條件查詢
- Node.js - MySQL 排序
- Node.js - MySQL 刪除資料
- Node.js - MySQL 更新資料
- Node.js - MySQL 連線查詢
- Node.js MongoDB
- Node.js - MongoDB 入門
- Node.js - MongoDB 建立資料庫
- Node.js - MongoDB 建立集合
- Node.js - MongoDB 插入資料
- Node.js - MongoDB 查詢資料
- Node.js - MongoDB 查詢
- Node.js - MongoDB 排序
- Node.js - MongoDB 刪除資料
- Node.js - MongoDB 更新資料
- Node.js - MongoDB 資料限制
- Node.js - MongoDB 連線查詢
- Node.js 模組
- Node.js - 模組
- Node.js - 內建模組
- Node.js - 實用程式模組
- Node.js - Web 模組
- Node.js 有用資源
- Node.js - 快速指南
- Node.js - 有用資源
- Node.js - 討論
Node.js - Buffer.write() 方法
NodeJS 的Buffer.write() 方法將給定的字串值寫入緩衝區,起始位置由 offset 值指定。如果緩衝區空間不足以容納整個字串,則只寫入部分字串。請注意,它不會處理部分編碼字串的寫入。
語法
以下是Node.JS Buffer.write() 方法的語法:
buf.write(string[, offset[, length]][, encoding])
引數
此方法接受四個引數,解釋如下。
string − (必填) 要寫入緩衝區的字串值。
offset − (可選) 指示寫入起始位置的偏移量。預設值為 0。
length − (可選) 要寫入的位元組數。length 不能超過 buffer.length − offset。因此,length 的預設值為 buffer.length − offset。
encoding − (可選) 用於字串值的字元編碼。預設為 utf-8。
返回值
Buffer.write() 方法返回寫入緩衝區的位元組數。
示例
在這個例子中,我們將使用 NodeJS Buffer.from() 建立一個緩衝區,然後將字串值寫入建立的緩衝區。
const buffer = Buffer.from('Hello'); buffer.write('World'); console.log("The final buffer is :"+buffer.toString());
輸出
我們沒有使用任何 offset 值,因此預設值為 0。使用字串Hello建立的緩衝區的長度為 5。因此,當您寫入長度與緩衝區相同的字串“World”時,將寫入完整的字串。
The final buffer is :World
示例
在這個例子中,我將使用 Buffer.alloc() 建立一個緩衝區,併為其分配 5 個長度。現在將使用較長的字串使用 Buffer.write() 方法寫入緩衝區。
const buffer = Buffer.alloc(5); buffer.write('Hello World'); console.log("The final buffer is :"+buffer.toString());
輸出
我們沒有使用任何 offset 值,因此預設值為 0。建立的緩衝區的長度為 5。由於我們寫入的字串長度為 11,緩衝區只能容納 5 個長度。因此,當您檢視輸出時,緩衝區將僅寫入字串Hello,因為它只能容納 5 個長度。
The final buffer is :Hello
示例
在這個例子中,我將檢查 offset 值。將在 Buffer.write() 中指定 offset,並將字串值寫入建立的緩衝區。
const buffer = Buffer.alloc(5); buffer.write('Hello World', 3); console.log("The final buffer is :"+buffer.toString());
輸出
使用的 offset 為 3,緩衝區的長度為 5,要寫入的字串的長度為 11。因此,緩衝區將從 3 開始填充,直到緩衝區的長度 5。因此,只有字元He將被寫入緩衝區。
The final buffer is :He
示例
在這個例子中,我們將使用 length 和 encoding 來使用 Buffer.write() 方法寫入緩衝區。
const buffer = Buffer.alloc(10); buffer.write('Hello World', 3, 5, 'utf-8'); console.log("The final buffer is :"+buffer.toString());
輸出
因此,offset 從 3 開始,我們要寫入的字串長度為 5。緩衝區的總長度為 10。由於要寫入的長度為 5,因此可以寫入,因為 buffer.length − offset 為 10 − 3 = 7。因此,它可以輕鬆地從緩衝區中的 offset 3 開始容納長度為 5 的字串值。
The final buffer is :Hello