Node.js之Buffer(缓冲器)

简介: Node.js之Buffer(缓冲器)

Buffer的概念

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

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

Buffer创建方法

// 1.alloc
let buf1 = Buffer.alloc(10)
// 使用alloc创造buffer的方法 是一个二进制类 都会归零
console.log(buf1) //<Buffer 00 00 00 00 00 00 00 00 00 00>
// 2.allocUnsafe
let buf2 = Buffer.allocUnsafe(10)
// 与alloc方法是一样的 但不安全 可能会包含旧的内存数据
// 那为什么我们不直接使用alloc方法 因为allocUnsafe方法比alloc方法快一些 不需要做归零操作
console.log(buf2) //<Buffer 00 00 00 00 00 00 00 00 00 00>
// 3.from
let buf3 = Buffer.from("hello")
// 使用了from方法 会把字符转换成 ASCII 然后转换成二进制到Buffer当中
// 我们也可以使用数组 会转换为二进制
let buf4 = Buffer.from([100,100,100,100])
console.log(buf3) //<Buffer 68 65 6c 6c 6f>
console.log(buf4) //<Buffer 64 64 64 64>

Buffer操作方法

Buffer与字符串的转换

let buf3 = Buffer.from("hello")
console.log(buf3) //<Buffer 68 65 6c 6c 6f>
console.log(buf3.toString()) // hello
let buf4 = Buffer.from([100,100,100,100])
console.log(buf4) //<Buffer 64 64 64 64>
console.log(buf4.toString()) // dddd

修改

let buf3 = Buffer.from("hello")
console.log(buf3) //<Buffer 68 65 6c 6c 6f>
buf3[0] = 95
console.log(buf3) // <Buffer 5f 65 6c 6c 6f>
console.log(buf3.toString()) // _ello

感谢大家的阅读,如有不对的地方,可以向我提出,感谢大家!

相关文章
|
5天前
|
缓存 JavaScript 前端开发
【Node系列】Buffer详解
JavaScript 语言自身只有字符串数据类型,没有二进制数据类型。 但在处理像TCP流或文件流时,必须使用到二进制数据。因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区。 Node.js中的Buffer是一个全局对象,属于固有(built-in)类型的全局变量,不需要使用require函数导入。它允许直接操作原始内存,主要用于处理二进制数据流。Buffer实例对象的结构和整数数组很像,但Buffer的大小是固定的且在V8堆外分配物理内存。
26 2
|
5天前
|
消息中间件 Web App开发 JavaScript
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
84 0
|
5天前
|
JavaScript 前端开发 API
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)(下)
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
38 0
|
5天前
|
消息中间件 Web App开发 JavaScript
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)(上)
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
45 0
|
5天前
|
JavaScript 网络协议 数据处理
Node.js中的Buffer与Stream:深入解析与使用
【4月更文挑战第30天】本文深入解析了Node.js中的Buffer和Stream。Buffer是处理原始数据的全局对象,适用于TCP流和文件I/O,其大小在V8堆外分配。创建Buffer可通过`alloc`和`from`方法,它提供了读写、切片和转换等操作。Stream是处理流式数据的抽象接口,分为可读、可写、双工和转换四种类型,常用于处理大量数据而无需一次性加载到内存。通过监听事件和调用方法,如读取文件的可读流示例,可以实现高效的数据处理。理解和掌握Buffer及Stream能提升Node.js应用的性能。
|
9月前
|
存储 JavaScript 前端开发
Node.js 的 Buffer 是什么?探索其用途与功能
在 Node.js 中,Buffer 是一种用于处理二进制数据的机制。它允许你在不经过 JavaScript 垃圾回收机制的情况下直接操作原始内存,从而更高效地处理数据,特别是在处理网络流、文件系统操作和其他与 I/O 相关的任务时。Buffer 是一个全局对象,不需要额外的模块导入就可以使用。
|
5天前
|
存储 JavaScript 计算机视觉
什么是Node.js Buffer(缓冲区)?
什么是Node.js Buffer(缓冲区)?
46 1
|
7月前
|
存储 JavaScript API
2023Node.js零基础教程(小白友好型),nodejs新手到高手,(二)NodeJS入门——buffer模块、计算机基础、fs模块、path模块
2023Node.js零基础教程(小白友好型),nodejs新手到高手,(二)NodeJS入门——buffer模块、计算机基础、fs模块、path模块
71 0
|
12月前
|
存储 缓存 JavaScript
Node【Global全局对象】之【Buffer】
Node【Global全局对象】之【Buffer】
82 0
|
缓存 JSON JavaScript
Node【三】Buffer 与 Stream
Node【三】Buffer 与 Stream
117 0