Node.js实战7:你了解buffer吗?

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));
});
Node.js实战7:你了解buffer吗?

 

可以看到,默认读取到的数据buf是Buffer类型。

Buffer类型转换为其它格式

将上面的代码,稍做改动,输出buf会是这样:

Node.js实战7:你了解buffer吗?

代码中读取的是test7.js,即本文例程代码。

对代码中的buf用toString()进行格式转换,转为字符串:

Node.js实战7:你了解buffer吗?

输出将会是:

Node.js实战7:你了解buffer吗?

注:toString()函数,默认的是转化为utf-8编码。还可转为ascii、utf16le、base64、hex等。

如下例,对base64编码的应用,可以用于字符串加解密:

Node.js实战7:你了解buffer吗?

 

var user = 'wangliwen';
var pass = 'jshaman.com';
var auth_str = user + ':' + pass;

//不经预定义大小,直接传入字符串来创建buffer
var buf = new Buffer(auth_str);

//加密过程:转为base64编码
var encode = buf.toString('base64');
console.log(encode);

//解密过程
var decode = new Buffer(encode,'base64').toString();
console.log(decode);

实际用途:简单的加解密算法、加密数据传输,如登录校验时。

本文参考资料:

Node.js实战7:你了解buffer吗?

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值