java解析 protobuf 格式数据

对方HTTPClient post protobuf格式的数据过来,我这边解析这些数据,可有什么简单的实例?

0

1个回答

Java提供了对protocolbuf格式的数据的解析工具,这里有一篇使用方法介绍,仅供参考:
http://blog.csdn.net/lufeng20/article/details/8736584

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
spark程序读写protobuf格式数据(java语言)
在spark上,用protobuf替代json格式作为数据序列化存储谷歌的protobuf一般用来将复杂数据结构序列化为二进制数组,非常适合网络传输等领域,其效率和空间占用都优于json格式。这一次,我在用spark做建模时,打算使用protobuf替换原json格式数据,以获得性能提升。在此记录下实现方式,以及如何避过我遇到的坑。我的环境是spark1.5.0 + java7 + protobuf
protobuf流的反解析Message
0x01 protobuf的基本概念 protobuf通过定义".proto"文件来描述数据的结构。.proto文件中用"Message"所表示所需要序列化的数据的格式。Message由field组成,Field类似JAVA或者C++中成员变量,通常一个field的定义包含修饰符、类型、名称和ID。下面看一个简单的.proto文件的例子: package testInfo;
java protobuf 打印中文乱码问题
对于一个protobuf对象,通过toString方法打印出来的中文是一串数字 如果想打印出中文可通过TextFormat.TextFormat.printToUnicodeString方法实现
利用protobuf格式进行前后端数据传输
创建student.proto文件,格式如下:   1 syntax = "proto3";   2 message Student{   3     int64 id = 1;   4     string name = 2;   5     int64 age = 3;   6 }   后端用python:     通过protoc将.proto文件生成XX_pb2.py文件,然后imp...
Netty发送protoBuf格式数据
Netty发送protoBuf格式数据 Netty发送protoBuf格式数据 Netty发送protoBuf格式数据 Netty发送protoBuf格式数据
kafka2.0-使用protobuf实现序列化_08
上一篇文章中讲了json和jdk的序列化方式,这里讲使用protobuf类序列化 protobuf的介绍 Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。他们用于 RPC 系统和持续数据存储系统。 ...
ActiveMQ发送和接收protobuf协议消息的实例(精心整理,亲测可用)
这是我精力整理的ActiveMQ发送和接收protobuf协议消息的实例。 也对ActiveMQ进行了简化封装,也配置了自动重连机制,亲测可用!
【Python】用 Protobuf 读写数据
概述1)编写传输消息的数据结构文件 2)用protoc工具生成相应的类 3)发送方调用类中SerializeToString()方法,将消息序列化成字符串 4)接收方调用类中ParseFromString(data)方法,解析传过来的数据下载编译工具1)环境:win10,py2.7 2)https://github.com/google/protobuf/releases/tag/v3.0.0 3)
一种根据ProtoBuf字段变化动态解析PB数据的方案
需求分析    先来回顾一下解析PB数据的常规流程:先定义好proto文件,然后使用protoc工具生成java代码,再使用生成的代码里的parseFrom方法去解析PB数据。    有这样一种场景,使用过程中,PB数据定义有变更,比如增删改了字段,常规方法是修改proto文件,重新生成java代码重新打包。那么需求来了,能不能做到做到PB数据字段变更后不打包、仅重启进程就能解析新的数据呢?解决方...
protobuf对象二进制序列化存储
首先下载protobuf库,可以用Nuget。 demo: using System; namespace Tools { public class BufHelp { /// /// 对象锁 /// private readonly static Object Locker = new Object();
基于python的protobuf简介及入门
Protobuf1、安装用于在Windows下安装protobuf以及在python下使用protobuf,要求python版本必须>2.6。打开网页下载最新版的protobuf-python-3.5.1.zip和protoc-3.5.1-win32.zip。解压文件后,将protoc-3.5.1-win32\bin\protoc.exe 复制到protobuf-3.5.1\src,然后进入...
protobuf解析(一)
protobuf是一种新的消息或数据结构体的定义模式。我们来看下基本写法: 1. 基本数据类型:包括double、float、bool、string、bytes、int32、int64、uint32、uint64、sint32、sint64、fixed32、fixed64、sfixed32、sfixed64; 2. 引用其他message类型 3. 枚举类型:对于枚举类型,protobuf有
protobuf与json互相转换,protobuf输出字符串
protobuf与json互相转换,protobuf输出字符串 Java http://code.google.com/p/protobuf-java-format/ maven com.googlecode.protobuf-java-format protobuf-java-format 1.2 从protobuf转json Mess
protobuffer性能分析测试
入职第一个任务就是做protobuf性能测试。一个是PHP那边对PB性能不是很满意,延迟有点难以接受,二来我们架构可能要推一个全平台通用的工具,所以想对比一下性能,了解一下问题在哪。因为之前对于序列化和反序列化工具没有什么概念,从头了解了下序列化的整个工作流程。简单的工作交给了我我也算是练练手。 有说的不对的还望指正,刚刚学了不久只能浅浅的谈一下 在线上实际使用中,为了PHP开发方面,
protobuf中数据格式与类型
消息格式 消息由至少一个字段组合而成,类似于C语言中的结构体,每个字段都有一定的格式: 数据类型 字段名称 = 唯一的编号标签值; 字段名称:protobuf建议以下划线命名而非驼峰式 唯一的编号标签:代表每个字段的一个唯一的编号标签,在同一个消息里不可以重复。这些编号标签用与在消息二进制格式中标识你的字段,并且消息一旦定义就不能更改。需要说明的是标签在1到15范围的采用一个字节进行编码,所以...
protobuf 如何解析(大于64MB)超大报文
为了阻止恶意用户发送超大报文,而导致int溢出或服务端为解析报文而分配大量内存致使内存耗尽,protobuf规定int溢出的默认值阈值是64MB(理论是512MB)。因此,当调用ParseFromString(str)方法时,若str的长度>64MB,返回会返回失败。注意到protobuf中包含这样一个函数:void SetTotalBytesLimit(int total_bytes_limit,
protobuf文件定义及转化为java对象
定义protobuf文件(包含enum,message,required,optional,repeated, 结构体定义中引用另一个结构体), 生成java文件,能够构建java对象,并转化为字节byte或者流,能够将流或字节转化为对象
Protobuf二进制文件基于Http协议传输的应用实例 ☞ Python与Java之间无关语言的数据传输
       在前两篇中,博主介绍了Google Protocol Buffer【一种数据交互格式】在Python和Java中各自的应用实例,重点就是掌握和理解如何构造protobuff的协议文件proto,文件中的数据组织结构是以messgae开头的,message消息体里面又可以嵌套message,总之,初次接触有点生疏不知所措,但是多写写多测测,还是很容易搞定这种proto文件格式的,搞定后...
js解析protobuf数据
function PieParseProtoBuffer(){ this._state = { ready:false, message:null }; loadProtoFile(this._state); function loadProtoFile(state){ return new Promise((reso...
Android下使用Protobuf进行序列化
Android下使用Protobuf进行序列化
Protobuf的坑——解析的内容超出64M导致失败
工作中Protobuf有两种常见用法:1,将数据序列化到buffer中,通过消息发送出去;2,将数据序列化到文件中,通过文件进行数据传递。在第一种使用场景下,一般都会注意到数据的大小,因为消息过大会导致发送和接收时处理多个分片,降低效率,几百KB就算多的了;而在第二种场景下不知不觉序列化后的文件就增长到了几十MB。  肆意增大的文件导致解析时执行ParseFromString()失败。一
关于socket通信使用Protobuf
protobuf的简单说明:-protobuf 即 google protocol buffer 是一种数据封装格式协议;protobuf与其他数据格式对比优势是效率高,存储小,使用方便。如何使用:-在网上有许多配置环境,然后再编写proto文件,再编译的;其实还有另外一种简单的方法,就是到github的protobuf的项目仓库下载已经编译好了的对应的库,直接安装使用更为方便快捷。 直接下载编译好
《从零开始搭建游戏服务器》 Protobuf读取Excel表格数据
前言 在之前的博客中,我们已经尝试过了在C#环境下,使用Protobuf来序列化Excel表格,然后再代码中反序列化出表格数据【Unity3D —— protobuf 导excel表格数据】,如今我们在服务器假如要共用一套配置表格,当需要一个类似的导表和读表过程,接下来我就在原来博客的基础上稍加修改,完成这个需求。 准备工作:为了方便起见,我直接复制了之前的一些工具,假如不了解的也可以直接在此
Unity3d进阶学习(2)-- Json、Protobuf 数据解析、
一、Json 这里使用的是Json的一个开源项目LitJson 1.官网下载地址:http://www.json.org/ 下载好的dll文件放在Plugins文件夹中 注意JSON的格式,可在线编辑并检查格式是否有问题https://www.bejson.com/jsoneditoronline/,检查无误后保存并放在Resources文件夹中 { "Nam...
jmeter java request 性能脚本编写历程(数据是protobuf形式)
在这里插入图片描述
服务器返回protobuf的数据在c++/lua中传输保持完整
针对问题:对于服务器返回的数据中存在‘\0’,从c++导入到lua中存在数据遗失问题 运行环境:cocos2dx-3.1.1,vs2013,protobuf2.6.1 参考资料: http://www.himigame.com/lua-game/1644.html http://blog.csdn.net/tianxiawuzhei/article/details/43022303
将protobuf数据读写入文件
从文件中读 string szFileName = "../ClientLog.txt"; fstream input(szFileName, ios::in | ios::binary); msg.ParseFromIstream(&input); output.close(); 写入文件 string s...
Netty使用Protobuf进行编解码
一、下载及安装 Protobuf安装包: https://github.com/google/protobuf/releases/download/v2.6.1/protoc-2.6.1-win32.zip解压即可。 protobuf jar包: http://repo2.maven.org/maven2/com/google/protobuf/protobuf-java/2.6.1/添加
Protobuf Lua 版本 和 C#版本序列化数据不一致
使用 protoc-gen-lua 把protobuf 嵌入到项目中,项目中原来使用的是 Unity版本的protobuf ,需要并存,所以测试 protobuf 在两个平台序列化出来的数据是否一致。
GRPC学习之路(5)——protobuf解码过程解析
接着上一篇文章的例子,本篇主要研究protobuf如何从字节流中解析并生java对象的。之前的文章也介绍过如何从文件中读取出一个对象的:Message testMessage = Message.parseFrom(new FileInputStream("testmessage.txt"));通过阅读parseFrom这个方法的源码,将它的流程简要概括如下:从InputStream中新建Code...
httpclient +protobuf 实现数据传输
最近项目要接入某联盟广告,采用protobuf左右传输协议,以前没弄过,这次刚好使用到了,整理下 一、环境准备:(mac下) 1.1 下载protobuf2.5安装包 http://pan.baidu.com/s/1o6v4Sae1.2 解压安装包 tar -zxf protobuf-2.5.0.tar.gz1.3 进入软件目录 cd proto
protobuf 简易分析工具及源码
说明因为工作需要分析protobuf的数据,google了一下,我个人没有找到合适的,就参考google protobuf文档,写了一个分析工具。这个项目用的是C++Builder XE10.2, win64实现。 因为是临时定的代码,就写的很随意了,很少注释。编译工具C++ Builder XE 10.2说明 由于C++Builder自带的C++编译不支持C++11,只好选择64位版本。 包中已
xml 与 protobuf之间的转换
#ifndef _INTER_PROTO_TINYXML_H_ #define _INTER_PROTO_TINYXML_H_ #include #include "google/protobuf/message.h" bool tinyxml2proto(const std::string& xml, google::protobuf::Message& msg); enum ti
Arvo序列化与反序列化
StringPair.avsc 模型{ "type":"record", "name":"StringPair", "doc":"a pair of strings.", "fields":[ {"name":"left","type":"string&
C#与Java通过protobuf进行网络通信过程中遇到的问题
上周体验了一把protobuf,google大佬搞的东西据说很多人用,优点自然不用多说,随便搜搜结果一大堆。为了测试这个玩意,随便弄了一个客户端,拿C#写了一个简单的控制台程序请求服务端,服务端拿java的HttpServer做了一个简单的响应客户端请求。 Protobuf用的2.6.1版本。 客户端下载地址:https://github.com/andyqingliu/TestHttpCli
Java中的Protobuf使用例子(转)
protobuf接口文件的生成这里就不举例子,只举一下在Java中怎么使用。1). 定义"消息"的结构,即书写接口定义文件(.proto文件)。本例中,消息包含了"手机信息"。文件名 mobile.proto文件内容如下:message MobilePhone{                    required string               brand = 1 ;        
protobuf发送和接收空数据
protobuf可以将空数组转换成对象,并且,如果protobuf对象中没有给任何属性设置值,那转换成的byte[]数组是空的。 如果protobuf对象没有属性,也可以接受一个非空数组反序列化成protobuf对象(兼容) protobuf代码如下: syntax = "proto2"; message Ddata{ repeated data dataList =1; option...
[Netty] 支持任意多个protoBuf协议通信的方案
新博客提供了更好的方式,传送门netty-any-protobuf 要实现一个decoder解码任意的protoBuf协议,那么必须要有所约定(使得协议带有一定的解释性),这里的解决方案是在协议中带有一个唯一的int值,以找出其对于的协议。大致如下: 【协议内容长度字段】【protoIndex】【protoBuf序列化内容】 看一下详细的约定: 1.首先所有的proto文件导出时,需要导...
数据格式篇(一):ProtoBuffer
前言自从年后回来,有一段时间没写博客了,首先是因为工作比较忙,其次是懒,没想到前几天竟然收到了第一笔打赏,在自己还没有完全变成咸鱼之前,赶紧翻个身。前几天更新了Android Studio 3.1.0,出现了一些问题,还没有升级的朋友,如果不想浪费时间在调整项目上可以先等一等再更新。一直没有找到特别好的话题,因为换了电脑,所以一些之前的一些练习用的项目都找不到了,之前断掉的系列得抓紧补上。今天聊一...
在Android 开发中使用Protobuf的实践和经验分享
  版权所有, 如需转载请保留链接  http://wangbt5191-hotmail-com.iteye.com/blog/1914408/   Android 下使用ProtoBuff的实践和心得。在最近的 Android 客户端项目中, 我们由于节省流量和减少序列化和反序列化运算开销的考虑, 我们选择了Protobuff 作为中间传输的序列化的工具。为了规避编译ProtobufS...
相关热词 c#串口测试应用程序 c# 匹配 正则表达式 c#防止窗体重绘 c#读写txt文件 c#挖地雷源代码 c#弹框选项 c# 移除 队列 c# 密码写入配置文件 c# 获取可用内存大小 c# 嵌入excel编辑