2015-10-13 50 views
0

我试图使用nodejs + amqp接收器接收消息。我可以观察到高于7f的二进制数据显示为ef bf bd使用AMQP接收器检索二进制数据时出错

var messageHandler = function (myIdx, msg) { 
    var data = new Buffer(msg.body) 
    console.log(data) 

输入:33 01 00 00 31 00 42 00 32 00 31 00 00 00 91 10
输出:33 01 00 00 31 00 42 00 32 00 31 00 00 00 EF BF BD 10

我认为8位二进制流被解释为7位字符流。有人可以澄清这一点吗?

回答

0

根据node-amqp10所有者的指导,我尝试覆盖策略以避免使用下面的代码进行编码/解码逻辑,并能够正确检索原始数据。

var client = new AMQPClient(Policy.merge({ 
    senderLink: { 
    encoder: function(body) { return body; } 
    }, 
    receiverLink: { 
    decoder: function(body) { return body; } 
    } 
}, Policy.EventHub)); 
相关问题