首页 > Web开发 > 详细

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

时间:2019-12-09 09:28:47      阅读:85      评论:0      收藏:0      [点我收藏+]

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;

//不经预定义大小,直接传入字符串来创建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吗?

原文:https://www.cnblogs.com/w2sft/p/12008924.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!