protobuf使用python解码错误

时间:2015-12-17 03:10:51

标签: python protocol-buffers

当我尝试使用python将steam解码为protobuf时,我收到了这个错误:

  

UnicodeDecodeError:' utf8'编解码器不能解码位置1中的字节0xaa

我的代码只是从文件中读取数据,并使用" ParseFromString"解码它。

f = open('ds.resp', 'rb')
eof = False
    data = f.read(1024*1024)
    eof = not data
    if not eof:
        entity = dataRes_pb2.dataRes()
        entity.ParseFromString(data)
        print entity

下载文件中的数据并从http请求中保存。似乎数据不是utf-8编码的。所以我使用chardet.detect()并发现它是ISO-8859-2。

问题是,似乎ParseFromString()需要对数据进行utf-8编码(我不确定)。如果我将数据从ISO-8859-2转换为utf-8。然后我又得到了一个错误:

  

google.protobuf.message.DecodeError:截断的消息

如何正确解码数据?有人有什么建议吗?

0 个答案:

没有答案