草庐IT

protobuf-LiteralByteString

全部标签

swift - 正在安装 Protobuf,但没有在 pod 文件中提及它

我的Swift项目遇到了一个奇怪的问题。下面是我的pod文件。我正在使用Swift3。现在,当我运行podinstall时,我总是会看到InstallingProtobuf(3.2.0)现在我在pod文件中的任何地方都没有提到这个pod。为什么要安装它?这个框架会导致Swift3发出大约200多个警告,而我的项目没有它也能正常工作(我从方案中删除了它),所以只想找出它的来源并将其删除。#platform:ios,'10.0'target'randomApp'douse_frameworks!pod'Firebase'pod'Firebase/Auth'pod'Firebase/Data

c# - 谷歌从 golang 到 c# 的 protobuf - 协议(protocol)消息包含无效标签(零)

当我使用protobuf将字节数据包从C#发送到Golang时,我没有遇到任何问题。但是当我从Golang向C#发送一个字节时出现错误。我在c#中使用这段代码来获取golang发送的protobuf:Streamstream=newMemoryStream(m);PRSDatadata;data=PRSData.Parser.ParseFrom(stream);print(data);然后我在C#中得到这个错误:InvalidProtocolBufferException:Protocolmessagecontainedaninvalidtag(zero).Google.Protobu

python - 如何在python中按数字获取顶级protobuf枚举值名称?

例如,我有proto-fileFile.proto:enumTest{ONE=1;TWO=2;}我使用File.proto的protoc生成文件File_pb2.py。我想在python代码中从生成的文件File_pb2.py中按值1(对应于File_pb2.ONE的值)获取字符串“ONE”(对应于File_pb2.ONE的名称)没有定义我自己的字典。我该怎么做? 最佳答案 假设生成的python位于File_pb2.py代码中试试这个:file_pb2._TEST.values_by_number[1].name在你的情况下,这应

Java:JSON -> Protobuf & 反向转换

我有一个现有系统,它在GUI和服务器之间使用基于protobuf通信协议(protocol)。现在我想添加一些持久性,但目前protobuf消息直接转换为第三方自定义对象。有没有办法将proto消息转换为json,然后可以持久化到数据库中。注意:我不太喜欢将二进制protobuf写入数据库的想法,因为它有朝一日可能无法向后兼容新版本,从而破坏系统。 最佳答案 如ananswertoasimilarquestion中所述,自v3.1.0这是ProtocolBuffers支持的功能。对于Java,包括扩展模块com.google.pro

java - 使用 Jackson 将 protobuf 转换为 JSON?

使用Jackson的ObjectMapper将protobuf转换为JSON时出现以下错误:com.fasterxml.jackson.databind.exc.InvalidDefinitionException:Directself-referenceleadingtocycle(throughreferencechain:MyObjectPb$MyObject["unknownFields"]->com.google.protobuf.UnknownFieldSet["defaultInstanceForType"])MyObjectPb具有以下字段:protectedcom.g

c++ - 无法在 cmakelists.txt 中使用 protobuf

我正在尝试运行protobuf存储库here中给出的示例,c++版本。我已成功安装该库并能够运行Makefile。但是在运行CMakeLists.txt时,我得到了这个错误:CMakeErroratCMakeLists.txt:9(find_package):Couldnotfindapackageconfigurationfileprovidedby"protobuf"withanyofthefollowingnames:protobufConfig.cmakeprotobuf-config.cmakeAddtheinstallationprefixof"protobuf"toCMA

c# - Protobuf-net(反)小数序列化在使用自定义小数原型(prototype)合约(C#/C++ 互操作)时抛出

假设我想序列化,然后使用protobuf-net反序列化一个小数:constdecimaloriginalDecimal=1.6641007661819458m;using(varmemoryStream=newMemoryStream()){Serializer.Serialize(memoryStream,originalDecimal);memoryStream.Position=0;vardeserializedDecimal=Serializer.Deserialize(memoryStream);Assert.AreEqual(originalDecimal,deseria

c++ - protobuf 必填字段和默认值

我是protobuf的新手,我已经开始考虑以下简单的例子messageEntry{requiredint32id=1;}由c++代码使用#include#include"example.pb.h"intmain(){std::stringmySerialized;{EntrymyEntry;std::cout即使需要“id”字段,由于没有设置,序列化缓冲区的大小为0(??)。当我反序列化消息时发生错误:[libprotobufERRORgoogle/protobuf/message_lite.cc:123]Can'tparsemessageoftype"Entry"becauseiti

c++ - 将通用 protobuf 复制到堆上的新对象中

我想复制一个通用的constprotobufMessage进一步操纵。我想到了Message*myfn(constMessage*msg){Message*copy=msg->New();copy->CopyFrom(*msg);//dostuffreturncopy;}这是正确的/惯用的吗?或者是否有更好的方法(可能是C++11特定的)? 最佳答案 这是正确的。如果你想要类型安全,一点模板魔法可以帮助:template::value>>std::unique_ptrclone(constMsg*msg){std::unique_p

c++ - 是否可以在 google protobuf 中为类型(枚举或消息)定义别名?

我的原型(prototype)文件中有两个枚举,它们定义了几乎相同的值。是否可以删除其中一个并留下一个别名以保持所有代码正常工作?例子:enumA{a=0;b=1;}enumB{a=0;b=1;}我想在C++中使用类似typedef的东西:enumA{a=0;b=1;}typedefAB;我没有在文档中找到这个。有任何解决方法吗? 最佳答案 这是一个老问题,但如果有人仍然感兴趣,现在可以使用protobuf在枚举上创建别名enumEnumAllowingAlias{optionallow_alias=true;UNKNOWN=0;S