十六进制时间戳到人类可读的 c 中



如何从十六进制时间戳(例如 33 88 72 52)获取人类可读?我从文件中提取它作为数组字节 = {0x33,0x88,0x72,0x52},我认为它是小端序......一个小时左右有点卡在这个上面,谷歌也没有太大帮助。谢谢。

这完全取决于未指定的编码。

但是,在四个字节处,它可能是此程序支持的time_t值:

#include <stdio.h>
#include <time.h>
int main (void) {
    time_t tm = 0x52728833;       // little-endian 0x{33,88,72,52}
    printf ("%sn", ctime (&tm));
    return 0;
}

这将打印出来:

Fri Nov  1 00:41:23 2013

这只是几天前(从提出这个问题开始)。

所以这是最有可能的可能性(我敢说,几乎是死的确定性),你可以使用ISO C的所有奇妙的时间操作和打印功能来解决这个问题。

最新更新