Я пытаюсь получить данные JSON из зашифрованной строки base64. Я создал свой прото-файл, как показано ниже.
syntax = "proto2";
message ArtifactList {
repeated Artifact artifacts = 1;
}
message Artifact {
required string id = 1;
required uint64 type_id = 2;
required string uri = 3;
}
После этого я сгенерировал файлы Python с помощью команды proto. Я пытаюсь расшифровать строку base64, как показано ниже.
import message_pb2
import base64
data = base64.b64decode("AAAAAA8KDQgTEBUgBCjln62lxS6AAAAAD2dycGMtc3RhdHVzOjANCg==")
s = str(data)
message_pb2.ArtifactList.ParseFromString(s)
Но я получаю следующую ошибку.
Traceback (most recent call last):
File "app.py", line 7, in <module>
message_pb2.ArtifactList.ParseFromString(s)
TypeError: descriptor 'ParseFromString' requires a 'google.protobuf.pyext._message.CMessage' object but received a 'str'
Я новичок в protobuf. Я не смог найти решение, чтобы исправить эту проблему.
Может ли кто-нибудь помочь решить эту проблему?
Заранее спасибо.
google.protobuf.message.DecodeError: Wrong wire type in tag.
. Может ли кто-нибудь помочь - person Sanjiv   schedule 18.02.2021print(type(s))
- person Chen A.   schedule 21.02.2021