Protobuf 消息是不是独立于平台

     2023-02-16     132

关键词:

【中文标题】Protobuf 消息是不是独立于平台【英文标题】:Are Protobuf messages platform independentProtobuf 消息是否独立于平台 【发布时间】:2013-09-06 17:10:01 【问题描述】:

我正在计划一个应用程序,其中服务器端将用 C# 编写,客户端将使用 phonegap 创建

该应用程序大量使用使用 protobuf-net 库序列化的二进制文件。

假设我在 C# 中有一个对象

public class Foo

   private string FooProp;

并且这个对象被序列化并使用phonegap传输到客户端。是否有可能在 phonegap 中反序列化生成的二进制文件并使用 Javascript 在 phonegap 中访问这些属性?

【问题讨论】:

***.com/questions/6912981/… 【参考方案1】:

the Protocol Buffers documentation的第一句话是:

欢迎阅读协议缓冲区的开发人员文档——一种语言中立、平台中立、可扩展的结构化数据序列化方式,用于通信协议、数据存储等。

因此,是的,protobuf 是独立于平台的。

至于是否可以使用 JavaScript 中的 protobuf,我将向您指出 this question,因为总体答案似乎是“仅通过第三方库”。您还可以在 the protobuf project site 上找到一些第三方库。

【讨论】:

如果我在 javascript 中反序列化 FOO 类。我是在 Json 中得到一个 Foo 对象还是反序列化数据有其他表示形式? @PeterEdike:您必须询问您决定使用的任何 JavaScript 库的作者。

protobuf消息格式(代码片段)

protobuf是一种平台语言无关的消息序列化协议,相比于传统的json、xml,序列后的空间更小,但是无法自解释,需要结合额外的proto定义文件才能反序列化,当然这样也更安全。下面记录一下protobuf消息格式。prot... 查看详情

protocol_buff在windows下使用mingw32编译方法

最近接手的一个项目在消息上使用了protocol_buff(以下简称protobuf),是一个挺方便的消息结构体,之前没有接触过,便记录下在windows学习过程protobuf的简介(转自百度百科) protobuf(以下简称PB)是google的一种数据交换的格式,它独... 查看详情

测试 protobuf 消息中是不是存在重复字段

】测试protobuf消息中是不是存在重复字段【英文标题】:Testingofexistenceofarepeatedfieldinaprotobuffmessage测试protobuf消息中是否存在重复字段【发布时间】:2016-10-0313:13:30【问题描述】:我有一条googleprotobuf消息:messageFoorequiredintbar=1;我... 查看详情

检查 protoBuf 中是不是存在消息类型

】检查protoBuf中是不是存在消息类型【英文标题】:CheckthepresenceofamessagetypeinprotoBuf检查protoBuf中是否存在消息类型【发布时间】:2021-07-0707:13:46【问题描述】:我是gRPC的新手,想检查C#语言中是否存在消息字段。我知道我们可以... 查看详情

windows下golang使用protobuf(代码片段)

windows下安装protoc与protoc-gen-goProtobuf(ProtocolBuffer)是google的一种数据交换的格式,它独立于语言,独立于平台。google提供了多种语言的实现:java、c#、c++、go和python,每一种实现都包含了相应语言的... 查看详情

跨平台 Protobuf 序列化

】跨平台Protobuf序列化【英文标题】:Cross-PlatformProtobufSerialization【发布时间】:2015-03-1612:08:53【问题描述】:我有三个通过ZeroMQ进行通信的应用程序,它们都执行不同的操作。不同的应用如下:第一个是C++应用程序,它是一个... 查看详情

flutter上线项目实战——即时通讯protobuf(代码片段)

一、应用背景:Protobuf是google的一种数据交换的格式,它独立于语言,独立于平台。优点:json优点就是较XML格式更加小巧,传输效率较xml提高了很多,可读性还不错。xml优点就是可读性强,解析方便。p... 查看详情

google protobuf 消息是不是具有带有元信息的可解析标头?

】googleprotobuf消息是不是具有带有元信息的可解析标头?【英文标题】:Dogoogleprotobufmessageshaveparseableheaderswithmetainformation?googleprotobuf消息是否具有带有元信息的可解析标头?【发布时间】:2021-02-2413:57:46【问题描述】:我找不到... 查看详情

使用 protobuf-net,是不是可以在不分配内存的情况下反序列化消息?

】使用protobuf-net,是不是可以在不分配内存的情况下反序列化消息?【英文标题】:Usingprotobuf-net,isitpossibletodeserializeamessagewithoutallocatingmemory?使用protobuf-net,是否可以在不分配内存的情况下反序列化消息?【发布时间】:2012-01-1... 查看详情

protobuf详解(代码片段)

protobufprotobuf概述protobuf简介Protobuf是ProtocolBuffers的简称,它是Google公司开发的一种数据描述语言,是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或RPC数据交换格式。可... 查看详情

等价于 protobuf 中的 #ifdef 语法

】等价于protobuf中的#ifdef语法【英文标题】:Equivalentof#ifdefsyntaxinprotobuf【发布时间】:2016-04-1414:12:22【问题描述】:protobuf消息中的#ifdef等价物是什么?我在语言指南https://developers.google.com/protocol-buffers/docs/proto中找不到任何内容... 查看详情

java示例代码_:如何获得独立于平台的新行字符

java示例代码_:如何获得独立于平台的新行字符 查看详情

独立于平台的 GigE Vision 驱动程序 [关闭]

】独立于平台的GigEVision驱动程序[关闭]【英文标题】:PlatformIndependentGigEVisiondriver[closed]【发布时间】:2012-12-0500:01:55【问题描述】:是否存在独立于平台的GigEVision驱动程序或软件包?我正在将PointGrayResearchFlea3GigE相机与德州仪... 查看详情

#ifdef DEBUG 与 CMake 独立于平台

】#ifdefDEBUG与CMake独立于平台【英文标题】:#ifdefDEBUGwithCMakeindependentfromplatform【发布时间】:2011-12-2114:54:40【问题描述】:我正在使用CMake在Windows(VisualStudio)以及Linux机器(gcc)上构建我的项目。我想将一些代码标记为“仅调试”,... 查看详情

如何使用 SkiaSharp 加载“独立于平台”的图像?

】如何使用SkiaSharp加载“独立于平台”的图像?【英文标题】:HowcanIloada"platform-independent"imageusingSkiaSharp?【发布时间】:2020-05-1405:52:53【问题描述】:就像我可以指定一个简单的名称,例如Image.Source中的photo.png,它会为... 查看详情

独立于平台的 OpenSSL 库

】独立于平台的OpenSSL库【英文标题】:Platform-independentOpenSSLlibrary【发布时间】:2012-07-2305:15:08【问题描述】:我正在用C++编写一个程序,它需要在任何地方编译和运行。它可以在Linux、MacOS、Windows、DOS、OS/2、BSD、hell上运行,如... 查看详情

protocolbuffers介绍

...、java和python三种语言并且独立于平台。linux环境安装下载protobuf-2.5.0.tar.gztar-xvf protobuf-2.5.0.tar.gz./configure--prefix 查看详情

以独立于平台的方式访问串口[关闭]

】以独立于平台的方式访问串口[关闭]【英文标题】:Accesstheserialportinaplatform-independantway[closed]【发布时间】:2012-08-2308:53:45【问题描述】:我的任务是创建一个程序,通过RS-232从桌面站控制设备。目前我正处于计划阶段,需要... 查看详情