淺談Nodejs中Buffer模組的用法,看看如何編解碼二進位資料包

青灯夜游
發布: 2021-11-09 09:39:53
轉載
2340 人瀏覽過

本篇文章帶大家了解Nodejs中Buffer模組的用法,介紹一下Buffer編解碼二進位資料包的方法,希望對大家有幫助!

淺談Nodejs中Buffer模組的用法,看看如何編解碼二進位資料包

今天,我們將會了解Nodejs的Buffer模組的使用,以及目前比較常用的buffer的npm套件。 【推薦學習:《nodejs 教學》】

先附nodejs buffer的文檔位址:https://nodejs.org/dist/latest-v16.x/docs/api/ buffer.html

如何建立一個buffer

常用的建立buffer的方法有兩種:

1、Buffer.alloc(size):建立一個指定長度的buffer

console.log(Buffer.alloc(20));
登入後複製

結果:

淺談Nodejs中Buffer模組的用法,看看如何編解碼二進位資料包

#2、Buffer.from():從一個現有的結構裡面建立出buffer

console.log(Buffer.from("fsfdfafd")); console.log(Buffer.from([1, 2, 3, 4]));
登入後複製

結果:

淺談Nodejs中Buffer模組的用法,看看如何編解碼二進位資料包

Buffer的讀寫

buf.writeInt8(value, offset)

value:要寫入buffer的數字

offset:開始寫入之前要跳過的位元組數

let buffer1 = Buffer.from("fsfdfafd"); console.log(buffer1); buffer1.writeInt8(127, 1); console.log(buffer1);
登入後複製

結果:

淺談Nodejs中Buffer模組的用法,看看如何編解碼二進位資料包

從結果中,我們可以看到offset為1的位置內容被改變了。

buf.writeInt16BE(value, offset)

value:要寫入buffer的數字

offset:開始寫入之前要跳過的位元組數

在指定offset位置大端

let buffer1 = Buffer.from("fsfdfafd"); console.log(buffer1); buffer1.`writeInt16BE`(127, 1); console.log(buffer1);
登入後複製

結果:

淺談Nodejs中Buffer模組的用法,看看如何編解碼二進位資料包

buf.writeInt16LE(value, offset)

value:要寫入buffer的數字

offset:開始寫入之前要跳過的位元組數

在指定offset位置小端

let buffer1 = Buffer.from("fsfdfafd"); console.log(buffer1); buffer1.`writeInt16LE`(127, 1); console.log(buffer1);
登入後複製

結果:

淺談Nodejs中Buffer模組的用法,看看如何編解碼二進位資料包

buffer npm套件

上面我們簡單介紹了下buffer的創建和讀寫方法,但是在為我們的日常開發過程中,要用上面介紹的方法去編碼二進位的檔案太過麻煩了,所以這裡我們來介紹寫buffer的npm套件。
我們這裡要介紹的關於node buffer的npm套件是protocol-buffers。這是它的npm位址:https://www.npmjs.com/package/protocol-buffers

由於,npm上的文件已經很清楚的介紹了該套件的使用方法,所以我們在這裡就不再重複講一次了,大家有興趣的可以去看下。

結束語

今天,我們學習了buffer的簡單讀寫和創建的方法,也學習了關於node的buffer包的用法。那麼,我們下次見。好好學習,天天向上!

淺談Nodejs中Buffer模組的用法,看看如何編解碼二進位資料包

更多程式相關知識,請造訪:程式設計影片! !

以上是淺談Nodejs中Buffer模組的用法,看看如何編解碼二進位資料包的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:juejin.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!