0

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

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 1​​0

我认为 8bit 二进制流被解释为 7bit 字符流。有人可以对此有所了解吗?

4

1 回答 1

0

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

var client = new AMQPClient(Policy.merge({
  senderLink: {
    encoder: function(body) { return body; }
  },
  receiverLink: {
    decoder: function(body) { return body; } 
  }
}, Policy.EventHub));
于 2015-10-20T09:14:04.197 回答