首頁  >  文章  >  web前端  >  node中的buffer有啥用

node中的buffer有啥用

WBOY
WBOY原創
2022-04-15 15:14:191813瀏覽

在node中,buffer用於在記憶體中存放二進位數據,可以在處理TCP流或檔案流時作為快取區,專門用於存放使用到的二進位資料;nodejs無法控制資料傳輸的時間,若沒到發送時間,資料會存放在Buffer中,直到將資料傳送完畢。

node中的buffer有啥用

本文操作環境:Windows10系統、nodejs 12.19.0版、Dell G3電腦。

node中的buffer有啥用

在Node應用程式中,需要處理網路協定、操作資料庫、處理圖片、接收上傳檔案等,在網路流和檔案的操作中,要處理大量二進位數據,而Buffer就是在記憶體中開闢一片區域(初次初始化為8KB),用來存放二進位資料

在上述操作中都會存在資料流動,每個資料流動的過程中,都會有一個最小或最大資料量

如果資料到達的速度比進程消耗的速度快,那麼少數早到達的資料就會處於等待區等候被處理。反之,如果資料到達的速度比進程消耗的資料慢,那麼早先到達的資料需要等待一定量的資料到達之後才能被處理

這裡的等待區就指的緩衝區(Buffer),它是計算機中的一個小物理單位,通常位於計算機的RAM 中

簡單來講,Nodejs不能控制數據傳輸的速度和到達時間,只能決定何時發送數據,如果還沒到發送時間,則將數據放在Buffer中,即在RAM中,直至將​​它們發送完畢

上面講到了Buffer是用來存儲二進制數據,其的形式可以理解成一個數組,數組中的每一項,都可以保存8位元二進位:00000000,也就是一個位元組

定義了一個Buffer類,該類別用來建立一個專門存放二進位資料的快取區

#在處理像TCP 流或檔案流時,必須使用到二進位資料。因此在 Node.js 中,定義了一個 Buffer 類,該類別用來建立一個專門存放二進位資料的快取區。

建立 Buffer 類別

Node Buffer 類別可以透過多種方式來建立。

方法1

建立長度為10 位元組的Buffer 實例:

var buf = new Buffer(10);

方法2

透過給定的陣列建立Buffer 實例:

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

方法3

透過一個字串來建立Buffer 實例:

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

utf-8 是預設的編碼方式,此外它同樣支援以下編碼:"ascii", “ utf8”, “utf16le”, “ucs2”, “base64” 和“hex”。

推薦學習:《nodejs影片教學

以上是node中的buffer有啥用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn