如何使用node中的buffer

介紹:Buffer類是一個全局類,是一個比較罕見不須要require( ‘buffer’ )就可使用的類,Buffer相似與數組也有length, 它裏面的元素爲16進制的兩位數,即 0-255的數值,大小一經設置不可改變。html

做用 用來處理二進制數據。數組

1、建立一個Buffer類有三種方法
1.new Buffer( size )
  size是一個長度或者說是空間大小,number類型;
爲buffer分配5個空間大小,裏面的內容是五個隨機填充的字節,長度之內的下標對應項能改變,不能像數組改變大小; 
 
2.new Buffer( Array );
  Array是一個字節數組
  
3.new Buffer( string, encoding );
  第一個傳的是字符串,第二個是字符編碼的類型;不一樣編碼把字符串轉換成字節效果不同;
默認狀況下編碼類型是utf-8,一個字母和數字佔1個字節,一個漢字佔3個字節,buffer支持的編碼類型有7種:
     1.ascii   2.utf8  3.utf16le 4.ucs2  5.base64  6.binary  7.hex
 
2、Buffer Api 
1. buf.write(string, [offset], [length], [encoding])
  string  String類型 - 將要被寫入 buffer 的數據
  offset Number類型, 可選參數,從buffer的第幾位開始寫入
  length Number類型, 可選參數, 寫幾個到buffer對象中
  encoding String類型, 可選參數, 默認: 'utf8'
 
2. buf.toString([encoding],[start],[end])
  encoding  String類型, 可選參數, 默認: 'utf8'
  start Number類型, 可選參數,從第幾位開始轉變
  end Number類型, 可選參數, 轉變到第幾位,不包括結束位
 
3. buf.slice([start],[end])    相似與數組的slice

  start Number類型, 可選參數,從第幾位開始切學習

  end Number類型, 可選參數, 切到第幾位,不包括結束位ui

**該方法返回的是一個新的bf對象,切取的片斷與老的buffer引用的是同一地址,對其中任何一個bf對象進行修改,另一個bf也會改變;編碼

4. buf.toJson([start],[end])  返回一個 JSON表示的Buffer實例spa

   

5.  buf.copy(targetBuffer, [targetStart], [sourceStart], [sourceEnd])code

  targetBuffer  - 新的Buffer對象xml

  targetStart Number類型, 可選參數,重新的buffer的第幾位開始寫入htm

  sourceStart Number類型, 可選參數, 從老bf的第幾位開始拷貝對象

  sourceEnd Number類型, 可選參數, 從老bf的第幾位結束拷貝,不包含結束位

6.  buf.fill(string,strat,end)

  string, 填充的字符串

  start 默認是0, 從哪一個地方開始被填充

  end, 可選參數 默認是bf.length, 填充到哪,不包括結束位

3、buffer提供的類方法 

1. Buffer.isEncoding('編碼’),判斷bf是否支持該編碼

 

2. Buffer.isBuffer(元素),判斷該元素是不是bf對象

 

3.Buffer.byteLength(‘字符串’,'字符編碼’),返回的是字符串的字節長度

 

4.Buffer.concat(字節數組 ,全部bf的總字節長度)  返回一個新的bf對象

 

學習來源 => http://www.imooc.com/learn/637   

今天就寫到這了,還有buffer的著名的8kb載體,下次在寫^_^    你們能夠去看看這篇博客  http://www.cnblogs.com/time-is-life/p/5385855.html

相關文章
相關標籤/搜索