title: A socket message from Python to C# comes through garbled
body: <p>I'm trying to set up a very basic ZeroMQ-based socket link between Python server and C# client using simplejson and Json.NET.
  I try to send a dict from Python and read it into an object in C#. Python code:</p>
  
  <pre><code>message = {'MessageType':"None", 'ContentType':"None", 'Content':"OK"}
  message_blob = simplejson.dumps(message).encode(encoding = "UTF-8")
  alive_socket.send(message_blob)
  </code></pre>
  
  <p>The message is sent as normal UTF-8 string or, if I use UTF-16, as "'\xff\xfe{\x00"\x00..." etc.</p>
  
  <p>Code in C# is where my problem is:</p>
  
  <pre><code>string reply = client.Receive(Encoding.UTF8);
  </code></pre>
  
  <p>The UTF-8 message is received as "≻潃瑮湥≴›..." etc.</p>
  
  <p>I tried to use UTF-16 and the message comes through OK, but the first symbols are still the little-endian \xFF \xFE BOM so when I try to feed it to the deserializer, </p>
  
  <pre><code>PythonMessage replyMessage = JsonConvert.DeserializeObject&lt;PythonMessage&gt;(reply);
  //PythonMessage is just a very simple class with properties,
  //not relevant to the problem
  </code></pre>
  
  <p>I get an error (obviously occurring at the first symbol, \xFF):</p>
  
  <pre><code>Unexpected character encountered while parsing value: .
  </code></pre>
  
  <p>Something is obviously wrong in the way I'm using encoding. Can you please show me the right way to do this?</p>