gpt4 book ai didi

c# - protobuf-net 使用什么基本序列化程序来输出字节数组?

转载 作者:行者123 更新时间:2023-11-30 12:19:29 29 4
gpt4 key购买 nike

protobuf-net 是否使用 BinaryFormatter 或其他格式化程序作为基本序列化程序将对象序列化为 byte[],然后写入流?

添加:

我使用 protobuf-net 序列化数据,想在 golang 中反序列化,有没有序列化器可以在 go 中完成这项工作?

最佳答案

Protobuf-net 是“ Protocol Buffer ”序列化格式的基础实现,具有惯用的 .NET API。与BinaryFormatter无关(尽管它可以用于创建自定义 ISerializable 实现以供 BinaryFormatter 一起使用,如果您仍在那个世界中玩的话)。

如果你想在 Go 中使用 Protocol Buffers (protobuf),只需从 this list 中选择一个 Go 实现即可。 .

大多数 protobuf 库都是“契约优先”的,意思是:你需要一个 .proto 模式;要从 protobuf-net 获取它,请使用 Serializer.GetProto<T>()对于 T您用作根类型。

注意:如果您正在序列化 DateTimeTimeSpan , 最好确保您使用的是 DataFormat.WellKnown在这些成员上——这将使以跨平台方式与其他图书馆合作变得;但请注意,这不是数据兼容的更改:它从根本上改变了这些值的存储方式,因此:如果您有现有数据,则需要考虑迁移策略。

关于c# - protobuf-net 使用什么基本序列化程序来输出字节数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57720038/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com