Buffers de protocolo de Google (protobuf) en Python3: problemas con ParseFromString (¿codificación?)

Tengo buffers de protocolo de Google que funcionan al 80% en Python3. Mi archivo .proto funciona, estoy codificando datos, la vida es casi buena. El problema es que no puedo ParseFromString el resultado de SerializeToString. Cuando imprimo SerializeToString se parece a lo que esperaba, una representación binaria bastante compacta (precedida por b ').

Supongo que quizás esta sea una diferencia en la forma en que Python2 y Python3 manejan las cadenas. El putput de SerializeToString es Bytes, no una cadena.

Salida impresa de SerializeToString (el tipo de Python es):

b'\x10\xd7\xeb\x8e\xcd\x04\x1a\x0cnamegoeshere2@\x08\x80\xf8\xde\xc3\x9f\xb0\x81\x89\x14\x11\x00\x00\x00\x00\x00\x80d\xc0\x19\x00\x00\x00\x00\x00\xc0m@!\x00\x00\x00\x00\x00\x80R\xc0)\x00\x00\x00\x00\x00x\xb7\xc01\x00\x00\x00\x00\x00\x8c\x95@9\x00\x00\x00\x00\x00\x16\xb2@'

resultado de ParseFromString (mensaje):

None

No se proporciona ningún error ...

Entonces, mi mejor suposición es que todo lo que necesito hacer es .decode () el objeto de bytes generado, el problema es que no tengo idea de cuál es la codificación. He probado UTF-8, -16, Latin-1 y algunos otros sin éxito. Mi Google-Fu es fuerte pero no he encontrado nada al respecto.

Cualquier ayuda sería apreciada.

Respuestas a la pregunta(1)

Su respuesta a la pregunta