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);

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

本文参考资料:

最新文章

  1. spring 整合 ActiveMQ
  2. DNS安全浅议、域名A记录(ANAME),MX记录,CNAME记录
  3. 条款10:令operator=返回一个*this的引用
  4. SQL Server数据类型与SDE库表sde_type对照表
  5. 去除wordpress由代发
  6. uva401 - Palindromes结题报告
  7. Java数据持久层框架 MyBatis之背景知识二
  8. 微信小程序开发问题汇总
  9. Linux指令装图像化界面
  10. RabbitMQ学习笔记(五) Topic
  11. 「SCOI2015」小凸玩矩阵 解题报告
  12. Python 动态加载并下载"梨视频"短视频
  13. 国网SGCC_UAP 反编译.class文件源代码
  14. linux kernel系列四:嵌入式系统中的文件系统以及MTD
  15. google3aac509c9040e79d
  16. php文件上传代码解析
  17. Linux下通过进程名查询占用的端口
  18. jsoup做http接口测试
  19. Mysql在InnoDB引擎下索引失效行级锁变表锁案例
  20. 【前端学习笔记】JavaScript 常用方法兼容性封装

热门文章

  1. Java并发——原子变量和原子操作
  2. docker常用命令及操作
  3. Nacos 快速开始
  4. 【Heaven Cow与God Bull】题解
  5. mysql RIGHT JOIN关键字 语法
  6. noi 1700 + 1756 八皇后问题 x
  7. 20180912-Java实例02
  8. RabbitMQ消费端ACK与重回队列机制,TTL,死信队列详解(十一)
  9. [Codeforces 274E]:Mirror Room(模拟)
  10. 织梦自定义表单导出为excel功能