指定長度的buffer例項
let a: buffer = new buffer(number: length);
# 為buffer例項賦值
a.fill(value);
通過陣列實現buffer的例項(使用陣列初始化緩衝區)
let a: buffer = new
buffer(array);
通過字串和編碼實現buffer的例項(使用字串初始化緩衝區)
# 預設編碼是utf-8
let a: buffer = new buffer(str, encoding);
編碼檢查
buffer.isencoding('utf-8');
buffer.ifencoding('gbk');
執行結果
> buffer.isencoding('utf-8')
true
> buffer.isencoding('gbk')
false
buffer類檢查
buffer.isbuffer(new
buffer([1,2,3,4,5,6]));
buffer.isbuffer([1,2,3,4,5,6]);
執行結果
> buffer.isbuffer(new
buffer([1,2,3,4,5,6]));
true
> buffer.isbuffer([1,2,3,4,5,6]);
false
字串的位元組長度
buffer.bytelength("我喜歡程式設計");
執行結果
> buffer.bytelength("我喜歡程式設計");
15
buffer的連線
let a: buffer = new
buffer("我");
let b: buffer = new
buffer("喜");
let c: buffer = new
buffer("歡");
let d: buffer = new
buffer("程式設計");
let str: buffer = buffer.concat([a, b, c, d]);
console.log(str.tostring());
執行結果
我喜歡程式設計
buffer的比較:用於buffer的內容排序,按字串的順序進行排序
let a: buffer = new
buffer("10");
let b: buffer = new
buffer('50');
let c: buffer = new
buffer('123');
console.log(buffer.compare(a, b));
console.log(buffer.compare(b, c));
console.log([a, b, c].sort(buffer.compare).tostring());
執行結果
-1
110,123,50
let a: buffer = new buffer(128);
a.write("第一次寫入資料");
console.log(a.tostring());
let len1: number = a.write("覆蓋第一次寫入的資料");
console.log(a.tostring());
a.write("接著第二次的資料寫入新資料",len1);
console.log(a.tostring());
執行結果
第一次寫入資料
覆蓋第一次寫入的資料
覆蓋第一次寫入的資料接著第二次的資料寫入新資料
注意:
若想要繼續寫入buffer,應該獲取當前位元組數作為偏移量,而不能直接使用a.length獲取,這中方式獲取到的整個buffer的長度,而無法繼續寫入新的位元組資料.
**node.js的節點的緩衝區,根據讀寫整數的範圍,提供了不同寬度的支援,使從1到8個位元組(8位、16位、32位)的整數、浮點數(float)、雙精度浮點數(double)可以被訪問,分別對應不同的write***()函式,使用方法與buf.write()類似。**
let a: buffer = new
buffer("我喜歡程式設計");
let b: buffer= new
buffer(128);
a.copy(b);
console.log(b.length + " " + b.tostring());
執行結果
128 我喜歡程式設計
C 實現的Buffer類
寫c 的同志一定覺得byte 比c 的 byte 加 length的方式好的多。一來,只需要乙個物件就可以是表示一段位元組流,另一方面,由於c 的特性,不需要象c 那樣還要記得刪除指標。由於我工作中,需要頻繁地試用c 和c 所以寫了個c 的類,以便方便地管理位元組流。很簡單,先定義乙個類 cmemo...
C 實現的Buffer類
寫c 的同志一定覺得byte 比c 的 byte 加 length的方式好的多。一來,只需要乙個物件就可以是表示一段位元組流,另一方面,由於c 的特性,不需要象c 那樣還要記得刪除指標。由於我工作中,需要頻繁地試用c 和c 所以寫了個c 的類,以便方便地管理位元組流。很簡單,先定義乙個類 cmemo...
C 實現的Buffer類
寫c 的同志一定覺得byte 比c 的 byte 加 length的方式好的多。一來,只需要乙個物件就可以是表示一段位元組流,另一方面,由於c 的特性,不需要象c 那樣還要記得刪除指標。由於我工作中,需要頻繁地試用c 和c 所以寫了個c 的類,以便方便地管理位元組流。很簡單,先定義乙個類 cmemo...