在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ HTML/ Node.js緩沖器
Node.js快速入門
Node.js事件發(fā)射器
Node.js包(JXcore)
Node.js事件循環(huán)
Node.js文件系統(tǒng)
Node.js npm
Node.js安裝和入門
Node.js工具模塊
Node.js回調(diào)概念
Node.js流
Node.js入門實(shí)例程序
Node.js教程
Node.js規(guī)范化應(yīng)用
Node.js REPL終端
Node.js緩沖器
Node.js RESTful API
Node.js全局對象
Linux安裝Node.js(源碼編譯安裝)
Node.js Web模塊
Node.js Express框架

Node.js緩沖器

純JavaScript是Unicode友好的,但對二進(jìn)制數(shù)據(jù)不是很好。當(dāng)與TCP流或文件系統(tǒng)打交道時(shí),有必要處理字節(jié)流。 Node提供緩沖器類,它提供實(shí)例來存儲原始數(shù)據(jù)相似的一個(gè)整數(shù)數(shù)組,但對應(yīng)于在V8堆外的原始存儲器的分配。

Buffer類是一個(gè)全局類,可以在應(yīng)用程序,導(dǎo)入緩沖模塊進(jìn)行訪問。

創(chuàng)建緩沖區(qū)

Node緩沖器可以以各種方式來構(gòu)造。

方法 1

以下是創(chuàng)建10個(gè)字節(jié)的漢緩沖的語法:

var buf = new Buffer(10);

方法 2

面是用來從給定數(shù)組創(chuàng)建一個(gè)緩沖區(qū)的語法:

var buf = new Buffer([10, 20, 30, 40, 50]);

方法 3

面是用來從給定的字符串和可選的編碼類型創(chuàng)建緩沖區(qū)的語法:

var buf = new Buffer("Simply Easy Learning", "utf-8");

雖然“UTF8”是默認(rèn)的編碼,但你可以使用其它的編碼: "ascii", "utf8", "utf16le", "ucs2", "base64" 或 "hex".

寫到緩沖器

語法

以下被寫入到一個(gè)節(jié)點(diǎn)緩沖器的方法的語法:

buf.write(string[, offset][, length][, encoding])

參數(shù)

面是使用的參數(shù)的說明:

  • string - 這是要被寫入的數(shù)據(jù)串緩沖區(qū)。

  • offset - 這是緩沖區(qū)開始的索引。默認(rèn)值為0。

  • length - 這是要寫入的字節(jié)的數(shù)目。默認(rèn)是 buffer.length

  • encoding - 編碼使用。 “UTF8”是默認(rèn)的編碼

返回值

這個(gè)方法返回寫入的字節(jié)數(shù)。如果沒有足夠的空間在緩沖,以適應(yīng)整個(gè)字符串,它將寫該字符串的一部分。

示例

buf = new Buffer(256);
len = buf.write("Simply Easy Learning");

console.log("Octets written : "+  len);

當(dāng)上述程序被執(zhí)行時(shí),它會產(chǎn)生以下結(jié)果:

Octets written : 20

從緩沖器讀取

語法

面是從節(jié)點(diǎn)緩沖器的數(shù)據(jù)的方法讀取的語法:

buf.toString([encoding][, start][, end])

參數(shù)

面是使用的參數(shù)的說明:

  • encoding - 編碼使用。 “UTF8”是默認(rèn)的編碼

  • start - 開始讀取的索引,默認(rèn)為0。

  • end - 最終讀數(shù)結(jié)束的索引,默認(rèn)值是整個(gè)緩沖區(qū)。

返回值

此方法解碼并返回來自使用指定的字符集編碼的編碼緩沖器的數(shù)據(jù)的字符串。

示例

buf = new Buffer(26);
for (var i = 0 ; i < 26 ; i++) {
  buf[i] = i + 97;
}

console.log( buf.toString('ascii'));       // outputs: abcdefghijklmnopqrstuvwxyz
console.log( buf.toString('ascii',0,5));   // outputs: abcde
console.log( buf.toString('utf8',0,5));    // outputs: abcde
console.log( buf.toString(undefined,0,5)); // encoding defaults to 'utf8', outputs abcde

當(dāng)上述程序被執(zhí)行時(shí),它會產(chǎn)生以下結(jié)果:

abcdefghijklmnopqrstuvwxyz
abcde
abcde
abcde

轉(zhuǎn)換緩沖到JSON

語法

以下是轉(zhuǎn)換節(jié)點(diǎn)緩存到JSON對象方法的語法:

buf.toJSON()

返回值

此方法返回緩沖區(qū)JSON-表示。

示例

var buf = new Buffer('Simply Easy Learning');
var json = buf.toJSON(buf);

console.log(json);

當(dāng)上述程序被執(zhí)行時(shí),它會產(chǎn)生以下結(jié)果:

[ 83, 105, 109, 112, 108, 121, 32, 69, 97, 115, 121, 32, 76, 101, 97, 114, 110, 105, 110, 103 ]

接續(xù)緩沖器

語法

以下是連接Node緩存到單個(gè)節(jié)點(diǎn)緩存方法的語法:

Buffer.concat(list[, totalLength])

參數(shù)