autobuffer

自动处理buffer数据,适合粘连包使用

AutoBuffer自动处理buffer数据的工具!

安装

npm install AutoBuffer

测试用例

var AutoBuffer = require('./AutoBuffer');
/**
 * 构造函数参数说明,默认使用低位进行计算
 * littleEndian true|false  低位
 * bigEndian    true|false  高位
 * sign true|false  无符号,默认有符号
 * buffer   需要解包的buffer数据
 * noAssert true|false  是否验证数值和偏移
 */
 
 
/************************************8位测试**********************************************/
var buf = new AutoBuffer().int8(125).pack();//或者byte(125) 
 
console.log(buf);
 
var data = new AutoBuffer({
    "buffer": buf
}).int8().unpack();
 
console.log(data);
 
 
/************************************16位测试**********************************************/
var buf = new AutoBuffer({
    "bigEndian": true
}).int16(32700).pack();//或者byte(125) 
 
console.log(buf);
 
var data = new AutoBuffer({
    "bigEndian": true,
    "buffer": buf
}).int16().unpack();
 
console.log(data);
 
/************************************32位测试**********************************************/
var buf = new AutoBuffer({
    "littleEndian": true
}).int32(327012020).pack();//或者byte(125) 
 
console.log(buf);
 
var data = new AutoBuffer({
    "littleEndian": true,
    "buffer": buf
}).int32().unpack();
 
console.log(data);
 
 
/************************************64位测试**********************************************/
var buf = new AutoBuffer({
    "littleEndian": true
}).int64(42323322555).pack();
 
console.log(buf);
 
var data = new AutoBuffer({
    "littleEndian": true,
    "buffer": buf
}).int64().unpack();
 
console.log(data);
 
/************************************字符串测试**********************************************/
var buf = new AutoBuffer().string(0, "你好hello").pack();
 
console.log(buf);
 
var data = new AutoBuffer({
    "buffer": buf
}).string(11).unpack();
 
console.log(data);
 
/************************************混合测试**********************************************/
var buf = new AutoBuffer().int8(125).int16(32700).string(0, "你好hello")
    .int32(327012020).int64(42323322555).pack();
 
console.log(buf);
 
var data = new AutoBuffer({
    "buffer": buf
}).int8().int16().string(11).int32().int64().unpack();
 
console.log(data);