标签:nodejs学习笔记
nodejs学习笔记
一、buffer:
全局对象(单例 Buffer.from Buffer.alloc Buffer.allocUnsafe )
编码类型 | 描述 | |
ascii | 仅仅用于7位ascall数据编码,速度快,如果设置了将会剥离高位 | |
utf8 | 多字节的编码的Unicode字符,网页文档大部分默认都为它。 | |
utf16le | 小端编码的Unicode字符,2或者4个字节 | |
ucs2 | utf16le的别名 | |
base64 | Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一 | |
latin1 | 将Buffer编码为一个字节的编码字符串的一种方法,和binary相同 | |
binary | latin1的别名 | |
hex | 将每个字节编码为两个十六进制的字符 |
方法参数 | 描述 | 注意事项 |
Buffer.from(array) | array普通数组 返回包含所提供的八位字节的副本的新缓冲区 | 注意数组内的必须是数字,如果是字符串,则会返回一个等同于数组长度的初始化为0的buffer(见例1) |
Buffer.from(arrayBuffer[, byteOffset [, length]]) | 1、arrayBuffer:继承TypedArry或者ArrayBuffer的.buffer 2、byteOffset:开始copy的游标,默认从0开始 3、length:要拷贝的长度,默认arrayBuffer.length - byteOffset 返回一个新的Buffer,它与给定的ArrayBuffer共享相同的分配的内存 | 注意:共享内存,就像js的浅复制一样,共享内存,一个被改动都会改动(见例2) |
Buffer.from(buffer) | buffer:用于从中复制数据的现有缓冲区 返回一个包含给定Buffer的内容的副本的新Buffer | 注意:各自拥有不同的内存,(见例3) |
Buffer.from(string[, encoding]) | string:待编码的字符串 encoding: 编码格式 返回一个包含所提供字符串副本的新缓冲区 | (见例4) |
例1:
例2:
例3
例4:
方法参数 | 描述 | 注意事项 |
Buffer.alloc(size[, fill[, encoding]]) | size: 新buffer的大小 fill:初始化的数据 encoding:编码格式 返回新的buffer | 和allocUnsafe对比,比较慢但是能确保不会带脏数据或者为初始化的数据 (见例5) |
Buffer.allocUnsafe(size) | size: 新buffer的大小 返回一个新的Buffer,它与给定的ArrayBuffer共享相同的分配的内存 | 和alloc对比,比较快,但是会带有脏数据,不会进行初始化 (见例5) |
事例5:
本文出自 “做你的激流” 博客,请务必保留此出处http://blackrain.blog.51cto.com/10622094/1891864
标签:nodejs学习笔记
原文地址:http://blackrain.blog.51cto.com/10622094/1891864