title: Serialization problem using protobuf between python and nodejs
body: <p>I got a compatible problem when serialize a protobuf message between python and nodejs. I have a protobuf message like the one below:</p>
  
  <pre><code>message User {
    reserved 2,3;
    string user_id = 1;
    int32 coin = 4;
    int32 exp = 5;
    int32 gem = 6;
    int32 level = 7;
  }
  </code></pre>
  
  <p>i would like to serialize a message instance like:</p>
  
  <pre><code>"userId": "3562957934"
  "coin": 350
  "exp": 1
  "gem": 30
  "level": 1
  </code></pre>
  
  <p>when I do user_pb2.User.SerializeToString()
  <code>\x0a\x0a\x33\x35\x36\x32\x39\x35\x37\x39\x33\x34\x20\xde\x02\x28\x01\x30\x1e\x38\x01</code></p>
  
  <p>or in binary </p>
  
  <p><code>1101 1110 0000 0010 0010 1000 0000 0001 0011 0000 0001 1110 0011 1000 0000 0001</code></p>
  
  <hr>
  
  <p>when I try to deserialize this message in nodejs, I get </p>
  
  <pre><code>"userId": "3562957934"
  "coin": 381
  "exp": 1
  "gem": 30
  "level": 1
  </code></pre>
  
  <p>which has a wrong "coin" value</p>
  
  <p>then I try to create a message instance (with coin value = 350) and deserialize it in nodejs. I get a different binary:
  <code>\x5c\x0a\x5c\x0a\x33\x35\x36\x32\x39\x35\x37\x39\x33\x34\x20\xc3\x9e\x02\x28\x01\x30\x1e\x38\x01</code></p>
  
  <p>or in binary:</p>
  
  <p><code>1100 0011 1001 1110 0000 0010 0010 1000 0000 0001 0011 0000 0001 1110 0011 1000 0000 0001</code></p>
  
  <p>I found that beside the strange bytes of the head <code>\x0a\x0a</code> and <code>\x5c\x0a\x5c\x0a</code> the main different between the python and nodejs serialization is the byte <code>1101 1110</code> (python) vs <code>1100 0011 1001 1110</code> (nodejs), or in string form <code>3562957934 �(08</code> (python) vs <code>3562957934 Þ(08</code> (nodejs)</p>
  
  <p>my protoc are:
  <code>/usr/local/bin/protoc -I=protos user.proto --python_out=pb</code>(python)
  <code>/usr/local/bin/protoc --js_out=import_style=commonjs,binary:protos user.proto -I=protos</code>(nodejs)</p>
  
  <p>I suppose that given a same message, serialization of python and nodejs should be the same, didn't it?
  I tried searching for google official protobuf documents, still cannot found a solution. Does anyone have come across a same problem?</p>