【发布时间】:2021-06-08 08:38:01
【问题描述】:
我有大量的小结构,我想序列化到文件中。
结构:
public struct Voxel
{
public byte density;
public byte material;
}
虽然有很多序列化库可以非常有效地进行一般序列化,但我怀疑我们可以在磁盘大小和序列化/反序列化速度方面做得更好>,假设我们知道并控制这个结构。
这个结构是非常最终的,所以我们可以不用许多序列化库支持的花哨的版本控制。
从我的搜索来看,Marshal 似乎是一个不错的方法来做这样的事情,但我不想担心字节序之类的事情。
所以我想知道,有什么好的方法可以序列化这些数据。假设数组大小可以在 100 到 1 百万之间?
(还假设我们不害怕以不同的格式存储它们,这样 RLE 可以进一步减少磁盘大小。)
【问题讨论】:
-
"endianness" 在这里实际上并不适用 - 只有当您有多字节值时才会成为问题;对于两个单独的
byte值:你很好
标签: c# serialization deserialization