nodejs json对象与C/C++二进制数据转换

因项目需要,实现一个nodejs模块,用于与c/c++进行二进制数据通信:
  1.  解析 C/C++传来的二进制数据为json对象;
  2.  编码 json对象为c/c++能够解析二进制数据;

模块安装:
    npm install cppmsg

使用,参见 test.js 

 
/**
 * Created by sdb on 2/25/16.
 */
var  cppMsg  =  require ( 'cppmsg' ) ;
var  msg_def  =  {
     msgHead : [
                   [ 'mainType' , 'int32' ] ,
                   [ 'subType' ,  'int32' ]
              ]
} ;
var  msg  =  new  cppMsg . msg (
     [
         [ 'reg' , 'int32' ] ,
         [ 'chkCode' , 'int32' ] ,
         [ 'iType' , 'int32' ] ,
         [ 'bMonitor' ,  'bool' ] ,
         [ 'workPath' , 'string' , 10 ] ,
         [ 'processID' , 'uint32' ] ,
         [ 'testObj' , 'object' ,  msg_def . msgHead ] ,
         [ 'testint64' , 'int64' ]
     ]
     ) ;
var  buff  =  msg . encodeMsg (  {
         reg      :  2 ,
         chkCode  :  0 ,
         iType    :  2 ,
         bMonitor  :  false ,
         workPath  :  'no  work' ,
         processID  :  1234 ,
        
         testObj   : {
              mainType  :  0x01020304 ,
              subType   :  0x0A0B0C0D
         } ,
        
         testint64  :  0xCDEF
     }   ) ;
console . log (  buff  ) ;
var  data  =  msg . decodeMsg (  buff  ) ;
console . log (  data  ) ;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值