Буферы протокола Google (protobuf) в Python3 - проблема с ParseFromString (кодировка?)

У меня буферы протокола Google работают на 80% в Python3. Мой файл .proto работает, я кодирую данные, жизнь почти хороша. Проблема в том, что я не могу ParseFromString результат SerializeToString. Когда я печатаю SerializeToString, это выглядит как то, что я ожидал, довольно компактное двоичное представление (которому предшествует b ').

Я предполагаю, что, возможно, это различие в том, как Python2 и Python3 обрабатывают строки. Положением SerializeToString является Байт, а не строка.

Печатный вывод SerializeToString (тип Python есть):

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@'

результат ParseFromString (сообщение):

None

Ошибка не предоставляется ...

Итак, мое лучшее предположение, что все, что мне нужно сделать, это .decode () сгенерированный объект байтов, проблема в том, что я понятия не имею, что такое кодировка. Я пробовал UTF-8, -16, Latin-1 и несколько других безуспешно. Мой Google-Fu сильный, но я ничего не нашел по этому поводу.

Любая помощь будет оценена.

Ответы на вопрос(1)

Ваш ответ на вопрос