protobuf数据解析_用python可视化protobuf内容

  • Post author:
  • Post category:python


一、什么是protobuf

Protocol Buffers(简称protobuf)是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式,用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的 API。

二、protobuf的优缺点

(1) 优点:

protobuf以高效的二进制方式存储,比XML小3到10倍,快20到100倍。

平台无关、语言无关

二进制、数据字描述

提供了完整详细的操作API

(2)缺点:

可读性差:为了提高性能,Protobuf采用了二进制格式进行编码。

对于开发同学来说,在进行程序调试时,二进制格式编码阅读比较困难。

对于测试同学来说,查看请求或者响应中的特定编码格式的protobuf数据比较困难,无法直观看到数据。

三、python如何解析

小编在测试过程中接触到的protobuf文件中以url_16_le格式编码较多,故以此编码为例进行处理,借助python的codecs库可以处理此类编码,当然codecs库中还有其他编码(utf_32_le、utf_32_be、utf_16_be、utf_7、utf_8),感兴趣的小伙伴可以去了解下。



版权声明:本文为weixin_31842715原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。