Buffer

Buffer:

用於處理二進制的數據。Buffer():用於操做二進制數據javascript

javascript 字符串是以utf-8的編碼存儲的,處理二進制的能力很弱。而網絡層對於不一樣資源的請求,響應,甚至是文件 都是以二進制的形式交互的。html

http://javascript.ruanyifeng.com/nodejs/buffer.htmljava

Buffer對象是Node處理二進制數據的一個接口。它是Node原生提供的全局對象,能夠直接使用,不須要require('buffer')node

JavaScript比較擅長處理字符串,對於處理二進制數據(好比TCP數據流),就不太擅長。Buffer對象就是爲了解決這個問題而設計的。它是一個構造函數,生成的實例表明了V8引擎分配的一段內存,是一個相似數組的對象,成員都爲0到255的整數值,即一個8位的字節。數組

 

Buffer對象與字符串的互相轉換,須要指定編碼格式。目前,Buffer對象支持如下編碼格式。網絡

  • ascii
  • utf8
  • utf16le:UTF-16的小端編碼,支持大於U+10000的四字節字符。
  • ucs2:utf16le的別名。
  • base64
  • hex:將每一個字節轉爲兩個十六進制字符。

Stream:

流是以buffer的形式存在,這樣更高效。函數

stream是基於事件機制工做的。流在各個階段的狀態 均可以被監聽到。ui

相關文章
相關標籤/搜索