【发布时间】:2017-05-06 07:44:43
【问题描述】:
我想解码 windows 64 位十六进制值:C++ 中的小端时间。
我有一个值(=FB7E5D6A355DD201),但我不知道如何在 C++ 中解码这个值。
请告诉我一个示例代码或相关网站。
【问题讨论】:
-
目标类型是什么?双精度、无符号长整型、长整型?
-
目标类型是char[8]。如果你愿意,也许我可以改变。我从文件中取出 8 个字节。
-
所以您是说要将每对十六进制数字转换为相应的字符?在这种情况下,字节顺序无关紧要。无论如何,只需使用基数为 16 的 stoi。如果您想要更大的整数,则通过 endian changing functions (posix) 之一转换最终结果。
-
@freakish umm .. 实际上没有。我想将一个值(=FB7E5D6A355DD201)解码为时间(2016-12-24 Sat. 00:58:34)。
-
@LeeSJ 伙计,你应该更准确地确定你想要实现的目标。您的帖子中没有时间提及。然后你谈论
char[8]。现在是时候了。时间是什么?如time_t结构?还是std::chrono::time_point?要不然是啥?初始缓冲区究竟是如何编码的?解析不仅仅是“我想要这个”,你必须知道源格式和目标格式。另外我假设我们都不知道这个 DCode 软件做了什么。