从字节数组转换为字符串时,它会添加空格

时间:2017-03-03 20:06:04

标签: c# serialization rabbitmq nsjsonserialization

我正在使用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();
      }

1 个答案:

答案 0 :(得分:0)

看起来当邮件被编码时,它被编码为unicode。我将编码更改为UTF8,并且消息传递完美:)