Node.js API实例讲解——二进制类型转换
二进制类型转换,buffer转json,通过buf.toJSON方法可将Buffer对象转换为JSON对象。
二进制类型转换
buffer转json
通过buf.toJSON方法可将Buffer对象转换为JSON对象。
例1
var buf = new Buffer("你好"); console.log(buf.toJSON()) // 打印 [ 228, 189, 160, 229, 165, 189 ]
json转buffer
通过new Buffer([byte数组])的方式可把JSON“转换”为Buffer对象。
例1
var jsonObj = [ 228, 189, 160, 229, 165, 189 ]; var buf = new Buffer(jsonObj); // 转换为Buffer对象 console.log(buf.toString()); // 打印你好
buffer转string
通过buf.toString()方法可将buffer转换为字符串形式。
例1
var buf = new Buffer([ 228, 189, 160, 229, 165, 189 ]); // 转换为Buffer对象 console.log(buf.toString()); // 你好 console.log(buf.toString("base64")); // 5L2g5aW9 console.log(buf.toString("hex")); // e4bda0e5a5bd console.log(buf.toString("utf8",0,3)) // 你
string转buffer
参看本章的‘创建Buffer实例’一节。
Buffer转类型化数组ArrayBuffer
前面我们知道node.js,具有的Buffer类型有强大的功能,同时标准化的类型化数组是标准,他们相互转换也是很必要的。
Buffer类型与ArrayBuffer之间的转换,可通过Uint8Array八位无符号整数对象来进行转换,原因是Uint8Array以byte(8bit)为单元的数据数组,而Buffer也是,所以可以利用这一点轻松转换。
首先我们开发一个方法,用来进行这个转换功能。
function toArrayBuffer(buffer) { // 创建一个缓存对象,长度等于buffer.length var ab = new ArrayBuffer(buffer.length); | // 创建一个Uint8类型的数组对象。 var view = new Uint8Array(ab); for (var i = 0; i < buffer.length; ++i) { view[i] = buffer[i]; // 把buffer的数据拷贝到ab缓存内。 } return ab; // 返回新的 ArrayBuffer对象。 }
测试一下:
var buf = new Buffer("你好"); var ab = toArrayBuffer(buf); console.log(ab instanceof ArrayBuffer); // true 表示Buffer对象已转为ArrayBuffer
类型化数组ArrayBuffer转Buffer
原理一样
function toBuffer(ab) { var buffer = new Buffer(ab.byteLength); var view = new Uint8Array(ab); for (var i = 0; i < buffer.length; ++i) { buffer[i] = view[i]; } return buffer; }
测试一下:
var arb = new ArrayBuffer(10); var bf = toBuffer(arb); console.log(bf instanceof Buffer) // true ,表示ArrayBuffer对象已转为Buffer
很赞哦! ( 0
)
相关文章
- Node.js API实例——Node.js 控制台
- Node.js 入门
- nodeJs基础教程系列(3)——建立githubs项目
- nodeJs基础教程系列(1)——安装Node.js
- nodeJs基础教程系列(6)——Promise 模式的Q库
- Atom 更为先进的文本代码编辑器 - 由 Github 打造的下一代编程开发利器
- bootstrap 3.3 模态框垂直居中问题
- js字符串操作
- js鼠标滑轮滚动事件绑定(兼容主流浏览器)
- 视频:Windows 安装FTP服务 (基于Windows2008 IIS配置FTP站点 )
- 屌丝为什么找不到女朋友
- nodejs 利用GraphicsMagick和gm组件创建图片缩略图