學node的一點小筆記(三) buffer緩衝區

2021-08-17 08:25:15 字數 1674 閱讀 3528

//buffer用來建立乙個專門存放二進位制資料的快取區

//因為js語言自身只有字串資料型別,沒有二進位制資料型別

之前:new buffer() 後:buffer.from()

//第乙個引數是普通字串

const

buff =

buffer.

from(

'a');

//輸出hex編碼的字串

'hex'));

//返回乙個指定大小的buffer例項

const

buff1 =

buffer.

alloc(

10);

// 建立乙個長度為 10、且用 0x1 填充的 buffer。

const

buf2 =

buffer.

alloc(

10,

1);// 建立乙個長度為 10、且未初始化的 buffer。

// 這個方法比呼叫 buffer.alloc() 更快,

// 但返回的 buffer 例項可能包含舊資料,

// 因此需要使用 fill() 或 write() 重寫。

const

buf3 =

buffer.

allocunsafe(

10);

// 建立乙個包含 [0x1, 0x2, 0x3] 的 buffer。

const

buf4 =

buffer.

from([

1, 2,

3]);

// 建立乙個包含 utf-8 位元組 [0x74, 0xc3, 0xa9, 0x73, 0x74] 的 buffer。

const

buf5 =

buffer.

from(

'tést');

// 建立乙個包含 latin-1 位元組 [0x74, 0xe9, 0x73, 0x74] 的 buffer。

const

buf6 =

buffer.

from(

'tést',

'latin1');

//寫入緩衝區 引數:字串,開始處索引,長度,編碼

console.

log(

buff1.

write(

"www.runoob.com"))

//buff1只有10的空間 只能寫入10個位元組

//讀取資料 引數:編碼,開始位置,結束位置

//轉換為json

//緩衝區合併

varbuff3 =

buffer.

concat([

buff,

buff1])

//緩衝區比較 result<0:buff在buff1前,=0相同,>0在後

varresult =

buff.

compare(

buff1);

//拷貝緩衝區 引數:拷貝物件,開始位置,結束位置,拷貝長度

buff1.

copy(

buff)

//剪下緩衝區 引數:開始位置,結束位置

varbuff2 =

buff1.

slice(

0,2)

//緩衝區長度:buff.length

學node的一點小筆記(五) node的模組與引用

node的模組與引用 module.js 直接封裝函式,可以在引用的js處呼叫 exports.world function 只是把乙個物件封裝到模組中 function hello this.sayhello function module.exports hello require.js 引入模...

學node的一點小筆記(六) 全域性物件

全域性物件 它及其所有屬性都可以在程式的任何地方訪問 瀏覽器js window是全域性物件,node.js裡,global是全域性物件 全域性變數 在最外層定義的變數,全域性物件的屬性,隱式變數 未定義直接賦值的變數 避免定義node.js自帶以外的全域性變數,因為全域性變數汙染命名空間,提高 耦合...

學node的一點小筆記(九) express 1

express是乙個簡潔而靈活的node.js web應用框架,提供了一系列強大特性建立各種web應用,和豐富的http工具 使用express可以快速搭建乙個完整功能的 核心特性 可以設定中介軟體來響應http請求 定義了路由表用於執行不同的http請求動作 可以通過向模板傳遞引數來動態渲染htm...