我将二进制文件转换为 xml 并转回,我确信在二进制文件中这个值 39D8CE0F 负责日期和时间。但是我不明白转换的原理。我正在尝试编写一个 Python 函数,可以将这 4 个字节转换为时间和日期格式。这里有一个十六进制的日期和时间列表,格式如下:
39D8CE - day=4 month=8 year=2023 time=2000
39EDCE - day=25 month=8 year=2023 time=2000
25E7CE - day=19 month=8 year=2023 time=1500
3702CF - day=15 month=9 year=2023 time=1930
2769CE - day=15 month=4 year=2023 time=1530
0020D0 - day=1 month=2 year=2024 time=0
2768D0 - day=13 month=4 year=2024 time=1530
2769CE - day=15 month=4 year=2023 time=1530
274CD0 - day=16 month=3 year=2024 time=1530
35DCCE - day=8 month=8 year=2023 time=1900
显然,第一个字节负责时间,第二个字节负责日期和月份,最后一个字节负责年份。
有什么想法吗?
在纠正了拼写错误并借助超级智能 Shade 的第一条评论之后,一切(几乎)显而易见。三个字节的序列代表一天中的时间(不是以十五分钟为间隔,而是以三十分钟为间隔)、一年的开始日期和年份本身的组合。位细分:7(时间)、1(上午/下午?)、9(天)、7(年)。
用 Python 编写解码器函数并不难。
例如,
datetime— 一个用于处理时间的标准库,然后您可以以任何格式输出此类数据。P.S.关于分钟解码器。您的例子可以通过,但如果没有晚上十点之后和中午之前的例子,就很难理解这是否正确。
PPS 根据问题中提供的数据运行。
结论: