Node.js实战7:你了解buffer吗?
2024-08-25 11:15:35
Buffer是NodeJS的重要数据类型,很有广泛的应用。
Buffer是代表原始堆的分配额的数据类型。在NodeJS中以类数组的方式使用。
比如,用法示例:
var buf = new Buffer(255);buf[0] = 23; console.log(buf[0]);
解释:分配255个字节,第一个字节写入数据23。
Nodejs中文件操作、网络数据传输如Post数据,通常默认数据格式都是Buffer。
如:
var fs = require("fs");fs.readFile("./test7.js",function(er,buf){ console.log(Buffer.isBuffer(buf));});
可以看到,默认读取到的数据buf是Buffer类型。
Buffer类型转换为其它格式
将上面的代码,稍做改动,输出buf会是这样:
代码中读取的是test7.js,即本文例程代码。
对代码中的buf用toString()进行格式转换,转为字符串:
输出将会是:
注:toString()函数,默认的是转化为utf-8编码。还可转为ascii、utf16le、base64、hex等。
如下例,对base64编码的应用,可以用于字符串加解密:
var user = 'wangliwen';var pass = 'jshaman.com';var auth_str = user + ':' + pass; //不经预定义大小,直接传入字符串来创建buffervar buf = new Buffer(auth_str); //加密过程:转为base64编码var encode = buf.toString('base64');console.log(encode); //解密过程var decode = new Buffer(encode,'base64').toString();console.log(decode);
实际用途:简单的加解密算法、加密数据传输,如登录校验时。
本文参考资料:
最新文章
- spring 整合 ActiveMQ
- DNS安全浅议、域名A记录(ANAME),MX记录,CNAME记录
- 条款10:令operator=返回一个*this的引用
- SQL Server数据类型与SDE库表sde_type对照表
- 去除wordpress由代发
- uva401 - Palindromes结题报告
- Java数据持久层框架 MyBatis之背景知识二
- 微信小程序开发问题汇总
- Linux指令装图像化界面
- RabbitMQ学习笔记(五) Topic
- 「SCOI2015」小凸玩矩阵 解题报告
- Python 动态加载并下载";梨视频";短视频
- 国网SGCC_UAP 反编译.class文件源代码
- linux kernel系列四:嵌入式系统中的文件系统以及MTD
- google3aac509c9040e79d
- php文件上传代码解析
- Linux下通过进程名查询占用的端口
- jsoup做http接口测试
- Mysql在InnoDB引擎下索引失效行级锁变表锁案例
- 【前端学习笔记】JavaScript 常用方法兼容性封装