美文网首页node学习笔记
node.js中Buffer常用api总结

node.js中Buffer常用api总结

作者: HK8383 | 来源:发表于2017-10-07 17:58 被阅读0次

官网API地址:http://nodejs.cn/api/buffer.html

1、Buffer.alloc(size[, fill[, encoding]])

新建一个Buffer实例,传入的三个参数分别为内存上分配的大小,填充的内容,编码格式,默认为utf8。

2、Buffer.allocUnsafe(size) 一般不建议使用

以这种方式创建的 Buffer实例的底层内存是未初始化的。 新创建的 Buffer的内容是未知的,且可能包含敏感数据
可以使用 buf.fill(0)初始化 Buffer实例为0。

3、Buffer.from()

参数可以传入一个数组,字符串等等,详细用法见官网api

4、Buffer.byteLength(string[, encoding])

返回一个字符串的实际字节长度,第一个参数为要计算长度的值,第二个参数为字符编码,默认为utf8

5、Buffer.isBuffer(obj)

判断传入参数是否为一个Buffer对象

6、Buffer.concat(list[, totalLength])

返回一个合并了 list 中所有 Buffer 实例的新建的 Buffer 。
第一个参数是一个数组,例如:[buf1, buf2, buf3]
第二个参数为合并时 list 中 Buffer 实例的总长度。如果没有提供 totalLength ,则从 list 中的 Buffer 实例计算得到。 为了计算 totalLength 会导致需要执行额外的循环,所以提供明确的长度会运行更快。

7、buf.length

返回Buffer实例对象在字节数上分配的内存量。 注意,这并不一定反映 buf 内可用的数据量。

8、buf.toString([encoding[, start[, end]]])

根据 encoding 指定的字符编码解码 buf 成一个字符串。 start 和 end 可传入用于只解码 buf 的一部分。

9、buf.fill(value[, offset[, end]][, encoding])

第一个入参value为填充buf的值,第二和第三个参数为填充起始和结束的位置,如果不传,默认为全部填充。第四个参数为value的字符编码。

10、buf.equals(otherBuffer)

比较两个Buffer实例对象,如果 buf 与 otherBuffer 具有完全相同的字节,则返回 true,否则返回 false。

11、buf.indexOf(value[, byteOffset][, encoding])

第一个参数为需要搜索的值,第二个参数为搜索的起始位置, 默认为0。

12、buf.copy(target[, targetStart[, sourceStart[, sourceEnd]]])

第一个参数为要拷贝进的 Buffer。

相关文章

网友评论

    本文标题:node.js中Buffer常用api总结

    本文链接:https://www.haomeiwen.com/subject/lcnjyxtx.html