c# - 用于序列化 C++ 和反序列化为 C# 类的 Protocol Buffer

标签 c# c++ protocol-buffers binary-serialization

是否可以使用 Protocol Buffer 在 C++ 中序列化一个类并将其反序列化为 C# 中的类似类?我已经尝试使用 Json 序列化来克服不同平台中的这个序列化问题,但是它在某些数据类型(例如数组列表等)上存在问题。那么关于使用 google 的 Protocol Buffer 有什么建议吗?

最佳答案

Protocol Buffers 允许您描述数据结构,并将其序列化/反序列化为 C++、Java、C# 和其他平台中的对象。您(通常,无论如何)不会序列化您自己的类的实例 - 您序列化生成的类的实例。 (我知道 protobuf-net 允许您使用描述如何将它们序列化到 Protocol Buffer 的属性来装饰您自己的类,而不必使用生成的类。我不知道 C++ 是否已经这样做了。)

尚不清楚这是否真的满足您的要求,但 protobufs 肯定允许跨平台数据交换。它在可以序列化哪些数据方面确实有限制——它们都是相当原始的,并且您可以从原始结构构建更复杂的结构。如果您已经在代码中获得数据模型,然后必须在 Protocol Buffer 中重新实现它,那可能会令人沮丧,但它确实有效...

关于c# - 用于序列化 C++ 和反序列化为 C# 类的 Protocol Buffer ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13062615/

相关文章:

c# - 反序列化未知类型的 JSON(Google Map API)

java - 从 ASP.NET 向 Android 应用程序发送推送通知

c++ - 关于C++指针的疑惑

c++ - 关闭 QT GUI 后如何停止线程

c# - 如何从服务可靠地捕获 Windows 登录、注销、锁定和解锁事件?

c# - 如果有人使用外部类库中的某些类,我如何报告编译错误

c++ - 基于策略的设计 : how to customize the Host structure in a proper way?

c# - Google Protocol Buffers - 序列化为字节数组

linux - 配置: error: "freeradius headers not found"

java - 如何生成protobuf 3.0 jar java?