Buffer 对象

简介: Buffer 对象

Buffer 对象

let buf = Buffer.from('鸡你太美');
console.log(buf);

输出结果:<Buffer e9 b8 a1 e4 bd a0 e5 a4 aa e7 be 8e>

返回的是十六进制数,一个中文字符占三位

let buf2 = Buffer.alloc(10);
console.log(buf2)

输出结果:<Buffer 00 00 00 00 00 00 00 00 00 00>

传入的是长度,返回的是零值

创建数组
var arr = new Array('1','2','3');
console.log(arr)

输出结果:[‘1’, ‘2’, ‘3’]

var arr1 = new Array(10);
console.log(arr1)

输出结果:[<10 empty items> ]

这里为 10 个空值

Buffer 类方法
查询个数
let buf = Buffer.from('鸡你太美');
console.log(buf);
let buf2 = Buffer.alloc(10);
console.log(buf2)
console.log(buf.length);
console.log(buf2.length);


创建的 buffer 对象,个数不能改变

判断编码是否支持
console.log(Buffer.isEncoding('utf8'))
console.log(Buffer.isEncoding('gbk'))


输出结果:

true

false

判断是否 Buffer 对象
let buf2 = Buffer.alloc(10);
console.log(Buffer.isBuffer(buf2));


输出结果:true

查看 byte 数据长度
console.log(Buffer.byteLength('鸡你太美'))

查看编码后的 byte 数据的长度,不指定编码默认 UTF-8

合并 Buffer 对象
let buf1 = Buffer.from('wolfcode');
let buf2 = Buffer.from('.cn');
let concatBuf = Buffer.concat([buf1,buf2]);
console.log(concatBuf.toString());

使用 Buffer 类 concat 方法将多个 Buffer 对象合并成一个,再用 toString 函数转成字符串类型

Buffer 实例方法
写入 Buffer 数据
let buf = Buffer.alloc(10);
console.log(buf);
let len = buf.write('wolfcode');
console.log(len);
console.log(buf);
console.log(buf.toString());
console.log(buf.toJSON());

输出结果:

<Buffer 00 00 00 00 00 00 00 00 00 00>

8

<Buffer 77 6f 6c 66 63 6f 64 65 00 00>

wolfcode

{

type: ‘Buffer’,

data: [

119, 111, 108, 102,

99, 111, 100, 101,

0, 0

]

}

使用 Buffer 的实例方法 write 写入 Buffer 数据

使用 toString 方法转成字符串类型,注意:非文本信息转成字符串会乱码,没有意义

使用 toJSON 方法转成 json 类型,数据变成十进制

相关文章
|
存储 关系型数据库 MySQL
数据同步大事务同步延迟
数据同步大事务同步延迟
230 6
|
前端开发
修改Ant Design 按钮的样式
修改Ant Design 按钮的样式
1000 0
|
存储
【C进阶】回调函数(指针进阶2,详解,小白必看)(上)
【C进阶】回调函数(指针进阶2,详解,小白必看)(上)
|
10月前
|
Java 程序员 PHP
01 入门PHP就来我这-安装phpstudy
路老师的PHP入门教程,带你从零开始学习PHP。首先下载并安装phpStudy,接着配置域名和端口,最后创建并运行第一个PHP文件。内容详实,适合初学者。
190 3
01 入门PHP就来我这-安装phpstudy
|
资源调度 前端开发
每个前端开发人员都必须知道的 8 个 React 组件库!【建议收藏】
每个前端开发人员都必须知道的 8 个 React 组件库!【建议收藏】
Win11、Win10 怎么让软件运行后台全部显示在任务栏上 win11任务栏展开显示所有软件图标
Win11、Win10 怎么让软件运行后台全部显示在任务栏上 win11任务栏展开显示所有软件图标
342 2
BurpSuite2021 -- 抓包使用及设置
BurpSuite2021 -- 抓包使用及设置
330 1
|
数据处理
什么是GPON 千兆被动光纤网络?
【4月更文挑战第14天】
1126 0
|
机器学习/深度学习 数据可视化 数据挖掘
数据可视化大不同!Python数据分析与机器学习中的Matplotlib、Seaborn应用新视角!
【7月更文挑战第22天】数据可视化在Python数据科学中至关重要,Matplotlib和Seaborn提供强大工具。案例展示如何用它们分析房屋售价数据:Matplotlib绘制面积与售价散点图揭示正相关,Seaborn的pairplot展示多变量关系。在建模阶段,特征重要性通过条形图可视化,辅助模型优化。这两库是理解数据和提升模型性能的关键。
143 3
|
存储 固态存储 安全
PACS系统源码,医学图像处理和分析系统
PACS部分主要提供医学影像获取、影像信息网络传递、大容量数据存储、影像显示和处理、影像打印等功能。RIS主要提供分诊登记、叫号、检查报告生成和打印等功能。影像存储与传输系统将二者进行无缝对接,提供了一个完整的集患者登记、图像采集、图像存储、报告产生的影像检查诊疗业务流程。
257 0