持久存储的字段中的字符数限制为 255 个。在这 255 个字符中,我想存储最大数量的日期和时间值,然后可以在应用程序中成功反序列化。将它们转换为 int
如前所述 here是我唯一的选择吗?
最佳答案
首先,将每个 DateTime 转换为尽可能少字节的整数值(可能是 5 – 8 个字节,具体取决于您要保留的内容)。
如果只需要存储分钟,3个字节可以覆盖31年,4个字节可以覆盖8166年。
将这些字节打包到字节数组中,然后将该字节数组转换为 Base64。这将每 6 个字符存储一个日期。
或者,选择一种非 Unicode 编码并将字节数组直接转换为字符串。这将每 4 个不可打印的可打印字符存储一个日期。
关于c# - 将 DateTime 序列化为最少字符数以供存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13736726/