教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

Node.js中Buffer的創(chuàng)建方式

更新時(shí)間:2021年12月10日17時(shí)20分 來(lái)源:傳智教育 瀏覽次數(shù):

下面開(kāi)始介紹用來(lái)存儲(chǔ)二進(jìn)制數(shù)據(jù)的Buffer 緩沖區(qū)。

緩沖區(qū)是在內(nèi)容中操作數(shù)據(jù)的容器,Node.js中的Buffer緩沖區(qū)模塊,支持開(kāi)發(fā)者在緩沖區(qū)結(jié)構(gòu)中創(chuàng)建、讀取、寫入和操作二進(jìn)制數(shù)據(jù),該模塊是全局性的,所以在使用時(shí)不需要使用require()函數(shù)來(lái)加載。

在Node.js手冊(cè)中查找到Buffer的創(chuàng)建方式,具體如下:

new Buffer(array)、 new Buffer(buffer)、new Buffer(arrayBuffer[, byteOffset [, length]])、new Buffer(size)、 new Buffer(str[, encoding])。

從上述方式中可以看出,Buffer()構(gòu)造函數(shù)用于創(chuàng)建Buffer對(duì)象,其中的參數(shù)可以是字節(jié)(size)、數(shù)組(array)、buffer對(duì)象、字符串(str)等。

方法1.傳入字節(jié):

使用Buffer自己創(chuàng)建一個(gè)內(nèi)存空間,單位為字節(jié),語(yǔ)法如下:

var buf = new Buffer(size);

在上述語(yǔ)法中,size代表字節(jié)大小,例如創(chuàng)建了5個(gè)字節(jié)的內(nèi)存空間,就向Buffer()構(gòu)造函數(shù)中傳遞參數(shù)5。

方法2.傳入數(shù)組:

通過(guò)傳入數(shù)組方式創(chuàng)建Buffer實(shí)例,語(yǔ)法如下:

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

在上述語(yǔ)法中參數(shù)為自定義數(shù)組。

方法3.傳入字符串和編碼:

var buf = new Buffer("hello", "utf-8");

在上述方法中,"hello"為JavaScript字符串,Buffer和JavaScript字符串對(duì)象之間的轉(zhuǎn)換需要顯式地調(diào)用編碼方法來(lái)完成,“utf-8”為Buffer默認(rèn)支持的編碼方式,可以省略。

除utf-8編碼外,Buffer同樣支持以下編碼:

(1)ascii:僅用于7位ASCIⅡ字符。這種編碼方法非???,并且會(huì)丟棄高位數(shù)據(jù)。

(2)utf16le:兩個(gè)字節(jié),UTF-16LE代表Unicode轉(zhuǎn)換格式——16位小端字節(jié)序。

(3)ucs2:兩個(gè)字節(jié),以小尾字節(jié)序(Little-Endian)編碼的 Unicode 字符。它只能對(duì)BMP(基本多文種平面,U+0000~U+FFFF)范圍內(nèi)的字符編碼。

(4)base64:Base64字符串編碼,Base64是網(wǎng)絡(luò)上最常見(jiàn)的用于傳輸8字節(jié)代碼的編碼方式之一。

(5)hex:Hex字符串編碼,Hex全稱是Intel HEX。Hex文件是由一行行符合Intel,HEX文件格式的文本所構(gòu)成的ASCII文本文件。在Intel HEX文件中,每一行包含一個(gè)HEX記錄。這些記錄由對(duì)應(yīng)機(jī)器語(yǔ)言碼或常量數(shù)據(jù)的十六進(jìn)制編碼數(shù)字組成。

好口碑IT培訓(xùn)




猜你喜歡:

node.js安裝及環(huán)境配置【手把手圖文教程】

Node.js是什么?它有哪些特點(diǎn)和優(yōu)勢(shì)?

Node.JS快速入門:Node.JS下載與安裝教程

js字符串轉(zhuǎn)化為數(shù)字類型有哪些方法?【妙招分享】

傳智教育前端與移動(dòng)開(kāi)發(fā)培訓(xùn)

0 分享到:
和我們?cè)诰€交談!