Nodejs之Buffer和path使用说明

Buffer(缓冲器)

1.概念

Buffer是一个类似于数组的对象,用于表示固定长度的字节序列

Buffer本质是一段内存空间,专门用来处理二进制数据

2.特点

  1. Buffer大小固定且无法调整
  2. Buffer性能较好,可以直接对计算机内存进行操作
  3. 每个元素的大小为1字节(byte)

3.使用

3.1 创建Buffer

Node.js中创建Buffer的方式主要如下几种

  1. Buffer.alloc
// 创建了一个长度为10字节的Buffer,相当于申请了10字节的内存空间,每个字节的值为0
let buf_1 = Buffer.alloc(10);  // 结果为
  1. Buffer.allocUnsafe
// 创建了一个长度为10字节的Buffer,buffer中可能存在旧的数据,可能会存在旧的数据,可能会影响执行结果,所以叫unsafe
let buf_2 =  Buffer.allocUnsafe(10)

3.Buffer.from

// 通过字符串创建 Buffer
let buf_3 = Buffer.from('hello')
// 通过数组创建 Buffer
let buf_4 = Buffer.from([105,108,111,118,101,121,111,117])

3.2 Buffer与字符串的转化

我们可以借助toString方法将Buffer转为字符串

let buf_4 = Buffer.from([105,108,111,118,101,121,111,117])
console.log(buf_4toString())

ps:toString默认是按照utf-8编码方式进行转换的

3.3 Buffer的读写

Buffer可以直接通过[]的方式对数据进行处理。

// 读取
console.log(buf_3[1])
// 修改
buf_3[1] = 97
// 查看字符串结果
console.log(buf_3.toString())

注意:

  1. 如果修改的数值超过255,则超过8位数据会被舍弃
  2. 一个utf-8的字符一般占3个字节

path模块

path模块提供了操作路径的功能,我们将介绍如下几个较为常用的几个API:

API 说明
path.resolve 拼接规范的绝对路径
path.sep 获取操作系统的路径分隔符
path.parse 解析路径并返回对象
path.basename 获取路径的基础名称
path.dirname 获取路径的目录名
path.extname 获取路径的扩展名

代码示例:

const path = require('path')
// 获取路径分隔符
console.log(path.sep)
// 拼接绝对路径
console.log(path.resolve(__dirname,'test'))
// 解析路径
let pathname = 'D:/progam file/nodejs/node.exe'
console.log(path.parse(pathname))
// 获取路径基础名称
console.log(path.basename(pathname))
// 获取路径的目录名
console.log(path.dirname(pathname))
// 获取路径的扩展名
console.log(path.extname(pathname))

你可能感兴趣的:(node,nodejs)