深入浅出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与性能

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值