node.js Buffer類(二進制數據處理模塊)

Buffer類概述 數組

一個用於更好的操做二進制數據的類 咱們在操做文件或者網絡數據的時候,其實操做的就是二進制數據流網絡

Node爲咱們提供了一個更加方便的去操做這種數據流的類 Buffer,他是一個全局的類,不須要引入後才能使用,能夠直接使用編碼

 

Buffer類的構造方法spa

new Buffer(size)3d

分配一個新的buffer大小是size的8位字節,參數size是一個Number類型的(相似數組的長度),一個長度表示1個字節對象

建立一個Buffer對象,併爲這個對象分配一個大小,當咱們爲一個Buffer對象分配了大小以後,其長度是固定不變的,不能更改blog

打印出來的結果是以16進制的方式打印的索引

new Buffer(array)utf-8

分配一個新的Buffer使用一個8位字節Array數組字符串

給某角標賦值

new Buffer(string, [encoding])

存儲一個字符串的時候,須要告訴Buffer一個編碼,不一樣編碼結果是不同的,默認編碼是utf-8

Node裏面並非支持全部編碼,支持的編碼有:ascll/utf16le/ucs2/base64/binary/hex

這裏直接打印出來的是十六進制的表示

 

 

Buffer的屬性

Buffer的length屬性和buf[index]

buf.length : buffer的bytes大小

buf[index] : 獲取或者設置在指定index索引位置的8位字節內容

Buffer的length屬性須要注意的地方

這個length的屬性指的不是字符的長度,而是字節的長度(buffer的bytes大小).一箇中文是3個字節

 

 

 

Buffer的方法

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

根據參數 offset 偏移量和指定的encoding編碼方式,將參數 string 數據寫入buffer

buf.write(要寫入的字符串, Buffer對象中的幾位開始寫入, 寫入的字符串的長度, 寫入的字符串的編碼)

 

 

 

 

標準輸入輸出流中其實也是使用了Buffer

相關文章
相關標籤/搜索