gpt4 book ai didi

c# - 使用 Protobuf-net 更新特定条目

转载 作者:太空宇宙 更新时间:2023-11-03 10:43:47 25 4
gpt4 key购买 nike

我有一个正在使用 Protofbuf-Net 序列化的对象列表(比方说 class AccessLevel)。

对象不是固定大小的,是否可以在不重写整个文件的情况下更新序列化文件中的单个对象(基于索引)?

最佳答案

如果更改使其更小或不影响大小:可能,但库中没有任何内容可以帮助您执行此操作,因为它不受支持。对于相同的长度:只是覆盖。当然,提前知道长度是一个技巧:)

在协议(protocol)级别,当减小大小时:您可以通过伪造未使用的字段或使用现有字段的次优 varint 编码来填充数据(备用字节,除了连续位外什么都没有)。

如果文件变大:再多的诡计也无法使您免于返工整个文件。

这些都是理论上的。一个更实际的答案可以证明:不。

关于c# - 使用 Protobuf-net 更新特定条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24270922/

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