深入浅出node.js:6 理解Buffer

   JavaScript对于字符串的操作十分友好,无论是宽字节字符串还是单字节字符串,都被认为是一个字符串。

   Node中,应用需要处理网络协议、操作数据库、处理图片、接收上传文件等,在网络流和文件的操作中,还要处理大量二进制数据,JavaScript自有的字符串远远不能满足这些需求,于是Buffer对象应运而生。

6.1 Buffer结构

    Buffer是一个像Array的对象,但它主要用于操作字节。

    模块结构:一个典型的JavaScript与C++结合的模块

    Buffer对象:类似于数组

    Buffer内存分配:在C++层面实现内存的申请的,在JavaScript中分配内存的策略。采用slab分配机制。

6.2 Buffer的转换

    可以与字符串之间相互转换。

    字符串转Buffer:

     Buffer转字符串:

     Buffer不支持的编码类型:

6.3 Buffer的拼接

   在使用场景中,通常是以一段一段的方式传输

   注意:乱码的产生

   正确拼接Buffer:

6.4 Buffer与性能

   

你可能感兴趣的:(后端)