【Node.JS】buffer 类缓冲区
简介
node.js 的开发语言就是 js,
javascript 语言自身只有字符串数据类型,没有二进制数据类型。
node.js 有时会操作一些文件,或是 tcp 流之类的东西。
那么就必须要操作二进制数据,
因此,在 node.js 中,有一个 buffer 类,
他用来创建一个专门存放二进制数据的缓存区。
buffer 类是随 node.js 安装的,直接引入就可以使用。
这些原始数据是存储在 buffer 类的实例中,一个 buffer 类就相当于是一个整数数组,他相当于是划出了一块自己的内存空间。
buffer 类的实例,用于表示编码字符的序列,支持 utf-8,ascii 等
创建 Buffer 类
Buffer.alloc,返回一个指定大小的 Buffer 实例,如果没有设置 fill,则默认填满 0。
复制代码
点击并拖拽以移动
使用 Buffer 类
复制代码
点击并拖拽以移动
string - 写入缓冲区的字符串。
offset - 缓冲区开始写入的索引值,默认为 0 。
length - 写入的字节数,默认为 buffer.length
encoding - 使用的编码。默认为 'utf8' 。
复制代码
点击并拖拽以移动
点击并拖拽以移动
编辑
七个汉字,一共占有了 21 个字节,一个汉字占三个自己,在 unicode 编码格式中一个汉字占两个字节,在默认的 utf-8 中一个汉字占三个字节。我们可以通过 toString 这个方法来将二进制转化为字符串。
buffer 类在实际应用中不多,当所修改的内容较为庞大的时候,我们可以采取这种二进制数组来修改内容,不会像 replace 产生新的数组。
例
复制代码
点击并拖拽以移动
通过二进制 ASCII 码来替换首字母。
点击并拖拽以移动
编辑
中间的逗号是中文的逗号 所以一共 13 个字节。
直接使用 buffer 类
复制代码
点击并拖拽以移动
点击并拖拽以移动
编辑
评论