An nodejs tool for auto init buffer.
JavaScript
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitattributes
.gitignore
AutoBuffer.js
README.md
package.json
test.js

README.md

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