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

问题描述:

我正在使用RabbitMq,我可以添加一个字符串到队列中。当我查看队列时,一切看起来不错,但是当我将该字符串从队列中取出时,它将在每个字符之间添加空格。我已经看过使用.trim()和不同类型的编码的所有内容。字符串总是出来的空格,这使得它不可能反序列化成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

我们还在使用.net核心项目 –

+0

传入消息是否可能是UTF-16而不是UTF-8? – Tim

+0

听起来像字节可能存储为unicode。尝试将UTF8更改为Unicode。 – TwistedStem

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