Javascript

nodejs学习(二)Buffer

本文主要是介绍nodejs学习(二)Buffer,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、  Buffer(缓冲区)

• 从结构上看Buffer非常像一个数组,它的元素为16进制的两位数。

• 实际上一个元素就表示内存中的一个字节。

• 实际上Buffer中的内存不是通过JavaScript分配的,而是在底层通过C++申请的。

• 也就是我们可以直接通过Buffer来创建内存中的空间。

  1.Buffer的操作

• 使用Buffer保存字符串
   let str = "你好";
   let buf = Buffer.from(str , "utf-8"); 
    
• 创建指定大小的Buffer对象
    let buf3 = Buffer.alloc(1024*8)

   2.Buffer的转换

• Buffer与字符串间的转换
  – 支持的编码:
    • ASCII、 UTF-8、 UTF-16LE/UCS-2、 Base64、Binary、 Hex
– 字符串转Buffer
  • Buffer.from(str , [encoding]);
– Buffer转字符串
  • buf.toString([encoding] , [start] , [end]);

  3.写入操作

• 向缓冲区中写入字符串
    – buf.write(string[, offset[, length]][, encoding])
• 替换指定索引位置的数据
    – buf[index]
• 将指定值填入到缓冲区的指定位置
    – buf.fill(value[, offset[, end]][, encoding])

  4.读取操作

• 将缓冲区中的内容,转换为一个字符串返回
    – buf.toString([encoding[, start[, end]]])
• 读取缓冲区指定索引的内容
    – buf[index]

  5.其他操作

• 复制缓冲区
    – buf.copy(target[, targetStart[, sourceStart[, sourceEnd]]])
• 对缓冲区切片
    – buf.slice([start[, end]])
• 拼接缓冲区
    – Buffer.concat(list[, totalLength])

 

这篇关于nodejs学习(二)Buffer的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!