使用 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));
我正在尝试使用 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));