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
数据同步大事务同步延迟
数据同步大事务同步延迟
302 6
|
前端开发
修改Ant Design 按钮的样式
修改Ant Design 按钮的样式
1169 0
onvif客户端(SOAPClient)编译错误记录
onvif客户端(SOAPClient)编译错误记录
141 1
|
Java 程序员 PHP
01 入门PHP就来我这-安装phpstudy
路老师的PHP入门教程,带你从零开始学习PHP。首先下载并安装phpStudy,接着配置域名和端口,最后创建并运行第一个PHP文件。内容详实,适合初学者。
231 3
01 入门PHP就来我这-安装phpstudy
|
资源调度 前端开发
每个前端开发人员都必须知道的 8 个 React 组件库!【建议收藏】
每个前端开发人员都必须知道的 8 个 React 组件库!【建议收藏】
Win11、Win10 怎么让软件运行后台全部显示在任务栏上 win11任务栏展开显示所有软件图标
Win11、Win10 怎么让软件运行后台全部显示在任务栏上 win11任务栏展开显示所有软件图标
429 2
BurpSuite2021 -- 抓包使用及设置
BurpSuite2021 -- 抓包使用及设置
403 1
|
数据处理
什么是GPON 千兆被动光纤网络?
【4月更文挑战第14天】
1340 0
|
算法
第五天_双指针【算法入门】
第五天_双指针【算法入门】
102 0

热门文章

最新文章