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

相关文章
相关标签/搜索