Node.js学习笔记(一) Buffer的简单使用


一直没有系统学习过Node.js, 今天开个坑,整理一下Node相关的内容

Node引入Buffer就是为了更方便处理二进制数据,下面整理一下Buffer常用api的作用

Buffer.from

通过传入的对象创建一个Buffer

Buffer.from('a') //<Buffer 61>  返回字符a的二进制码的十进制形式

Buffer.from([1, 2, 3])  // <Buffer 01 02 03> 传入一个数组,数组每一项用来设置Buffer的值

Buffer.from(Buffer.from([1, 2, 3])) //<Buffer 01 02 03> 获取一个Buffer的拷贝

Buffer.alloc

就像malloc一样,分配一块n字节的空间

Buffer.alloc(5) //<Buffer 00 00 00 00 00> 申请一块五字节的空间,每一份都用0填充

Buffer.alloc(5, 1)  //<Buffer 01 01 01 01 01> alloc还支持第二个参数,用于指定初始值

Buffer与字符串的转换

(Buffer和字符串的关系真的很密切)

Buffer.from('Hello').toString() //Hello from 和 toString可以实现Buffer与String的转换

拼接Buffer

就像拼接数组一样,使用concat

Buffer.concat([Buffer.from('a'), Buffer.from('b')]) //<Buffer 61 62> 传入一个包含Buffer的数组

isBuffer

就像isArray一样,判断一个对象是不是Buffer

Buffer.isBuffer((Buffer.from('a'))) //true

indexOf

和数组一样的方法

(Buffer.from('a')).indexOf('a') //0 内部应该是某种类型转换

length

同样Buffer也有length属性(甚至也可以下标访问)

(Buffer.from('a')).length   // 1

Author: Maple
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source Maple !
  TOC