.net - 从.net Data.ToBinary()中提取数据

标签 .net datetime binarywriter

我需要读取使用BinaryWriter类编写的自定义序列化二进制数据。
为了存储日期,原始设计师使用BinaryWriter.Write( Data.ToBinary() );

This文章排序中提到了ToBinary函数如何工作;但是我需要的是构建将模拟其他编程语言中的ToBinary()和FromBinary()方法的代码。

任何人都可以看看下面的伪代码,并让我对实际偏移位计数有所了解。

long i = DateTime.Now.ToBinary();
// will likely need to add code here to "condition" the value
int yr = (i >> 48) & 0x7fff;
int mo = (i >> 44) & 0xf;
int day = (i >> 36) & 0xff;
int hr = (i >> 28) & 0xff;
int min = (i >> 20) & 0xff;
int sec = (i >> 12) & 0xff;
int ms = i & 0xfff;


ps。这个概念甚至会起作用吗?还是以总毫秒数的形式存储日期?

最佳答案

您可以使用任何想要的格式,只要同时进行序列化和反序列化即可:)但是,由于常见的表示法是“ Ticks”,为什么不这样做呢?
序列化是关于保存和还原的,只要您可以恢复保存的任何内容,序列化就可以了:)

关于.net - 从.net Data.ToBinary()中提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5585588/

相关文章:

c# - 如何找到介于其他两种颜色之间的颜色?

c# - 使用 protobuf-net 进行质量过滤

python - 使用带有固定字符串序列的 pandas 解析数据

sql - 如何将小时、分钟和秒添加到 SQL 中的日期时间列?

c# - 在 C# 中从磁盘读取短数组的最佳方法?

c# - BinaryWriter 覆盖现有文件 C#

c++ - 为 C++/CLI 中的所有请求向 WebBrowser 控件添加自定义 header ?

c# - "async void"WPF 命令处理程序中的异常处理

python - 将 unicode 转换为 datetime 正确的 strptime 格式

c# - 你必须刷新你的 BinaryWriter 数据吗