Protobuf RuntimeWarning: неожиданный тег конечной группы Не все данные были преобразованы - PullRequest
2 голосов
/ 08 января 2020

У меня есть этот кодированный в utf-8 файл, из которого мне нужно собрать шестнадцатеричный дамп, который является жизнеспособным protobuf, и затем передать его в protobuf. Файл .proto работает, как и ожидалось, и жизнь почти идеальна.

message_content = message_content.replace(" ","")
message_content = binascii.unhexlify(message_content)

Я преобразовываю строку в необработанные байты, а затем передаю ее в protobuf

msg.ParseFromString(message_content)

, в результате чего возникает ошибка

 RuntimeWarning: Unexpected end-group tag: Not all data was converted
 msg.ParseFromString(message_content)

Я не могу скажите, если я плохо собираю шестнадцатеричную часть или она повреждена. message_content выглядит так:

b"87\x00\x00C\x17\x11\x10j\x17\x11\x10\x0c\x00\xc2\x00\x08\xec\xad\xe8\xe0\xf9\x04\x10\x01\x1a\x1f\x08\xea\xae\x18\x12\x14\x01\x00\x0f\x00\x02\x02|\xf0%\x00\x01&\x00\x01'\x00\x01*\x00\x01*\x01\x00\x1a\x00\x1a \x08\xea\xae\x14\x12\x14\x01\x00\x0f\x00\x02\x02|\xf0%\x00\x01&\x00\x01'\x00\x01(\x00\x01*\x02\x00\x00\x1a\x00\x1a#\x08\xea.\x12\x14\x01\x00\x0f\x00\x02\x02|\xf0%\x00\x01&\x00\x011\x00\x012\x00\x01*\x06\x00\x00\x00\x00\x00\x00\x1a\x00\x1a \x08\xea\xae\x14\x12\x14\x01\x00\x0f\x00\x02\x02|\xf0%\x00\x01&\x00\x01'\x00\x01(\x00\x02*\x02\x00\x00\x1a\x00\x1a\x1d\x08\xea\xae\x0c\x12\x11\x01\x00\x0f\x00\x02\x02|\xf0%\x00\x01&\x00\x011\x00\x01*\x02\x00\x00\x1a\x00"
...