美文网首页
Buffer模块

Buffer模块

作者: 剁剁爷 | 来源:发表于2017-02-07 16:40 被阅读0次

产生背景:node需要处理网络协议,操作数据库,处理图片,文件上传等,需要大量的二进制操作。

1.实例化一个buffer对象

var buf = new Buffer([ox68, ox65, ox6c, ox6f])               

里边的二进制是数组形式

var buf = new Buffer(10)   

生成一个长度为10的Buffer对象

2.Buffer二进制与字符串的转换

(1)转化成字符串:buf.toString('utf-8')

(2)转化成buffer二进制:new Buffer('hello')   或   new Buffer('hello', 'utf-8')

3.buffer对象操作

(1)buf.length    获取Buffer对象的长度

(2)var Bup = bin.slice(2)  bin是从位置2开始开始切割直至结束,Bup是新的buf对象

(3)合并buffer对象

1) var buf1 = new Buffer([0x01, 0x02])

    var newBuf = buf1.concat(buf)

2) 拼接Buffer

    res.on('data', function(chunk){

    })

其中参数chunk是Buffer对象,直接用+拼接会产生乱码,对于宽字节字符可能导致乱码产生。

解决方法:第一种,在可读流中setEncoding方法,该方法让data事件传递不再是Buffer对象,而是编码后的字符串;

第二种,将Buffer对象暂列数组中,组装完成一个大Buffer之后拼接。

相关文章

  • Buffer模块

    产生背景:node需要处理网络协议,操作数据库,处理图片,文件上传等,需要大量的二进制操作。 1.实例化一个buf...

  • Buffer模块

    前言 《深入浅出Node.js》这本书写得好,建议阅读。以下摘录自原书。 what Buffer对象是Node处理...

  • Buffer模块

    Buffer.alloc(size[, fill[, encoding]])#[http://nodejs.cn/...

  • Node js 读写文件

    官方文档: http://nodejs.cn/api/ nodejs Buffer Buffer 这个核心模块在使...

  • 如何加载Nodejs模块(核心/文件/自定义)

    对于大多数核心模块(使用纯C/C++编写的内建模块): 如buffer、crypto、evals、fs、os等模块...

  • nodejs buffer 内置模块

    参考:https://www.cnblogs.com/Qooo/p/14017043.html[https://w...

  • nodejs学习

    全局成员 setTimeout Buffer 模块导出 module.exports 和 exports 1. e...

  • 缓存区、文件系统、路径

    1. 课程介绍 ◆ Buffer缓存区(了解)◆ fs文件模块(了解)◆ fs读取文件(掌握)◆ ...

  • buffer的结构

    Buffer是一个类似于Arrray的对象,但它主要用于操作字节。 1. 模块结构 Buffer是一个典型 的Ja...

  • Node入门教程(9)第七章:NodeJs的文件处理

    Node的文件处理涉及到前面说的ptah模块,以及fs文件系统、stream流处理、Buffer缓冲器等模块。内容...

网友评论

      本文标题:Buffer模块

      本文链接:https://www.haomeiwen.com/subject/bnhmittx.html