我正在使用RabbitMq,我可以将一个字符串添加到队列中。当我查看队列时,一切看起来都不错,但是当我从队列中取出该字符串时,它会在每个字符之间添加空格。我已经看过使用.trim()和不同类型的编码的所有内容。字符串ALWAYS带有空格,这使得无法反序列化为json。
由于它正确地坐在队列中,我只是添加获取数据的部分并将其转换为简单的字符串。
using (var connection = connectionFactory.CreateConnection())
using (var channel = connection.CreateModel())
{
channel.BasicQos(0, 1, false);
var consumer = new EventingBasicConsumer(channel);
channel.BasicConsume(QUEUE_NAME, false, consumer);
consumer.Received += (model, ea) =>
{
var body = ea.Body;
var message = System.Text.Encoding.UTF8.GetString(body, 0, body.Length);
Console.WriteLine($" [x] Recieved {message}");
};
channel.BasicConsume(QUEUE_NAME, true, "brandon", false, false, null, consumer);
Console.ReadLine();
}
答案 0 :(得分:0)
看起来当邮件被编码时,它被编码为unicode。我将编码更改为UTF8,并且消息传递完美:)