Node.js:Buffer基础

这篇具有很好参考价值的文章主要介绍了Node.js:Buffer基础。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


在Node.js中,Buffer类是用于处理二进制数据的实用工具。它是一个全局对象,可以在所有模块中访问,而无需使用 require引入。

更多请查看Node.js中文文档

创建Buffer对象

可以使用以下方法之一来创建一个新的Buffer对象:

  1. 使用字符串创建:

    const buf = Buffer.from('Hello World', 'utf8');
    
  2. 使用数组创建:

    const buf = Buffer.from([0x62, 0x75, 0x66, 0x66, 0x65, 0x72]);
    
  3. 使用Buffer.alloc创建指定大小的Buffer对象:

    const buf = Buffer.alloc(10);
    

Buffer对象的常用方法

1. Buffer.from(string[, encoding])

将一个字符串转换为Buffer对象,其中encoding参数是可选的,用于指定字符串的编码方式,默认为utf8

2. Buffer.from(array)

将一个数组转换为Buffer对象。

3. Buffer.alloc(size[, fill[, encoding]])

创建一个指定大小的Buffer对象,其中fillencoding参数都是可选的。fill用于指定初始化时填充的值,默认为0,encoding用于指定编码方式,默认为utf8

4. buf.toString([encoding[, start[, end]]])

将一个Buffer对象转换为字符串,其中encodingstartend参数都是可选的。encoding用于指定编码方式,默认为utf8startend用于指定转换的起始和结束位置。

5. buf.toJSON()

将一个Buffer对象转换为JSON对象。

6. buf.compare(otherBuffer)

比较两个Buffer对象的大小,返回 -101。表示第一个Buffer对象小于等于大于第二个Buffer对象。

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

将一个Buffer对象复制到另一个Buffer对象中,其中targetStartsourceStartsourceEnd参数都是可选的。

8. buf.slice([start[, end]])

提取一个Buffer对象的子集,其中startend参数都是可选的。文章来源地址https://www.toymoban.com/news/detail-485946.html

示例

// 创建一个Buffer对象
const buf1 = Buffer.from('Hello World', 'utf8');

// 输出Buffer对象
console.log(buf1); // <Buffer 48 65 6c 6c 6f 20 57 6f 72 6c 64>

// 将Buffer对象转换为字符串
const str = buf1.toString('utf8');
console.log(str); // Hello World

// 比较两个Buffer对象的大小
const buf2 = Buffer.from('hello world', 'utf8');
const result = buf1.compare(buf2);
console.log(result); // -1

// 复制一个Buffer对象
const buf3 = Buffer.alloc(5);
buf1.copy(buf3, 0, 0, 5);
console.log(buf3); // <Buffer 48 65 6c 6c 6f>

// 提取一个Buffer对象的子集
const buf4 = buf1.slice(0, 5);
console.log(buf4); // <Buffer 48 65 6c 6c 6f>

到了这里,关于Node.js:Buffer基础的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Node.js 应用的御用品: Node.js 错误处理系统

    开发中,有些开发者会积极寻求处理错误,力求减少开发时间,但也有些人完全忽略了错误的存在。正确处理错误不仅意味着能够轻松发现和纠正错误,而且还意味着能够为大型应用程序开发出稳健的代码库。 特别是对于 Node.js 开发人员,他们有时会也发现自己使用了不那么

    2024年02月10日
    浏览(42)
  • 分享18个用于处理 null、NaN 和undefined 的 JS 代码片段

    🎬 岸边的风 :个人主页  🔥 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️生活的理想,就是为了理想的生活! 目录 前言 内容 📟 1. 检查是否为null: 📟 2. 检查undefined: 📟 3. 检查 NaN: 📟 4. 如果为 null 或undefined则默认为某个值: 📟 5. 如果为 NaN,则默认为一个值: 📟 6. 将

    2024年02月16日
    浏览(33)
  • Node.js |(一)Node.js简介及计算机基础 | 尚硅谷2023版Node.js零基础视频教程

    学习视频 :尚硅谷2023版Node.js零基础视频教程,nodejs新手到高手 可以 让其他人访问我们编写的网页 。 为 后续的框架学习 打基础。 Node.js 是一个 开源 的,跨平台的 JavaScript 运行环境。 通俗来讲 : Node.js 就是一款 应用程序 ,是一款软件,它可以 运行 Javascript 。 开发服务

    2024年02月13日
    浏览(37)
  • 【Node.js】path 模块进行路径处理

    Node.js 执行 JS 代码时,代码中的路径都是以终端所在文件夹出发查找相对路径,而不是以我们认为的从代码本身出发,会遇到问题,所以在 Node.js 要执行的代码中,访问其他文件,建议使用绝对路径 实例: 问题原因:就是从代码文件夹出发,使用 ../text.txt 解析路径,找不到

    2024年02月20日
    浏览(38)
  • 使用ExcelJS快速处理Node.js爬虫数据

    ExcelJS是一个用于处理Excel文件的JavaScript库。它可以让你使用JavaScript创建、读取和修改Excel文件。 以下是ExcelJS的一些主要特点: 支持xlsx、xlsm、xlsb、xls格式的Excel文件。 可以创建和修改工作表、单元格、行和列。 可以设置单元格样式、字体、背景颜色等。 可以设置工作表的

    2024年02月03日
    浏览(35)
  • 如何在 Node.js 应用程序中处理大数

    计算机很难在不损失精度的情况下准确地表示具有很多个有效数字的数字。当你将超过 JavaScript 中最大安全整数限制的整数存储为普通整数时,它们会失去精度。 在 JavaScript 生态系统中,你可以使用 BigInt 来处理大整数。但是,你也可以使用具有类似于 BigInt 功能的第三方库

    2024年02月11日
    浏览(49)
  • node.js系列-常见问题处理方案(持续更新)

    `` 浏览器中我们可以这样使用: node.js中实现方案 解决方案: 修改eslint配置文件 , 举个栗子:.eslintrc.js 使用方案 今天就写到这里啦~ 小伙伴们,( ̄ω ̄( ̄ω ̄〃 ( ̄ω ̄〃)ゝ我们明天再见啦~~ 大家要天天开心哦 欢迎大家指出文章需要改正之处~ 学无止境,合作共赢 欢迎路过

    2024年02月14日
    浏览(31)
  • Node.js |(二)Node.js API:fs模块 | 尚硅谷2023版Node.js零基础视频教程

    学习视频 :尚硅谷2023版Node.js零基础视频教程,nodejs新手到高手 fs : file system ,文件系统。 fs模块可以实现与硬盘的交互 ,例如文件的创建、删除、重命名、移动、内容的写入读取以及文件夹的相关操作。 语法 : fs.writeFile(file,data[,options],callback) 参数说明 : file 文件名

    2024年02月12日
    浏览(53)
  • Node.js--基础

    Node.js® is a JavaScript runtime built on Chrome’s V8 JavaScript engine. 1、特性 Node.js 可以解析JS代码(没有浏览器安全级别的限制)提供很多系统级别的API,如: 文件的读写 (File System) 进程的管理 (Process) 网络通信 (HTTP/HTTPS) …… 2、举例 2.1 浏览器安全级别的限制 Ajax测试 浏览器预览 2

    2024年02月01日
    浏览(26)
  • node.js基础

    定义: node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境(后端 javaScript 运行环境) 浏览器属于 JavaScript 前端运行环境 node.js 官网: https://nodejs.org/en 📌引入模块的方式 📌模块分类 🍁内置模块: fs、path、http 🍁自定义模块: 用户创建的每一个 js 文件,引用自定义模块,

    2024年02月04日
    浏览(23)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包