将十六进制数据从C转换为值

时间:2014-02-20 18:51:02

标签: c struct hex

我有这个结构:

UID (4 byte unsigned integer)
Message size (4 byte unsigned integer)
Date (4 byte time_t value)

在文件中我有这些数据:

UID : 3C 05 00 00
Message size : 2F EA 02 00
Date : FA 11 02 53

我没有找到如何获得人类阅读的每一个价值?你能帮我吗 ?

通常大小为8581o,日期为02-17-2014 14:39。

1 个答案:

答案 0 :(得分:0)

#include <stdio.h>
#include <time.h>

int main(int argc, char **argv) {
    unsigned u = 0x530211FA;// little endian
    time_t t = (time_t)u;//sizeof(u) == sizeof(t) ?
    printf("%s\n", ctime(&t));//Mon Feb 17 22:43:22 2014
    return 0;
}