使用 AMQP 接收器检索二进制数据时出错

Error in retrieving Binary data using AMQP reciever

我正在尝试使用 nodejs + amqp 接收器接收消息。我可以观察到高于 7f 的二进制数据显示为 ef bf bd.

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

Input : 33 01 00 00 31 00 42 00 32 00 31 00 00 00 91 10
Output : 33 01 00 00 31 00 42 00 32 00 31 00 00 00 ef bf bd 10

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

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

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