gpt4 book ai didi

protobuf-net - 我们如何识别一个文件是否被 protobuf 序列化?

转载 作者:行者123 更新时间:2023-12-05 04:52:52 29 4
gpt4 key购买 nike

我想识别要反序列化的文件是否是protobuf序列化的。这是因为我想提供不止一种选项来为用户序列化和反序列化文件。我正在使用 protobuf.net 序列化为 protobuf 格式。

最佳答案

不存在明确的 protobuf 标记,因此您所能做的就是测试某些东西是否可能是 protobuf。您可以通过尝试反序列化(并记录失败)来做到这一点,或者通过简单地通过 ProtoReader API 运行它并查看它是否干净地运行到最后,也许使用 SkipField()(但是,如果您使用 SkipField(),则不是这样,有一些内部有效负载可以完全跳过——我可以构建一个示例,该示例在使用 SkipField() 时通过,但在正确反序列化时失败)。

由于您使用的是文件,因此您还可以使用文件扩展名作为附加提示。

关于protobuf-net - 我们如何识别一个文件是否被 protobuf 序列化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66367319/

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