ms-dos时间比较古老,常见于很多较为久远的算法程序中(比如pkzip)。百度了很多网页,都没找到有关dos时间格式转换的有用信息。于是在Google上搜索了一下,找到了MS-DOS时间(4字节)的格式信息,详见:https://documentation.help/WinHex-X-Ways/topic48.htm
具体信息截图如下:
一、上图需要注意的有两点:
1.“秒”位置上的数据是除以2得到的,还原时需要乘以2
2.注意低位到高位的顺序问题:1010100........10010(共32bit,其中右边是低位,左边高位,比如上图中0-4bit就指的是最右边4位0010)
二、完成格式转换的流程很简单,大体有以下几步:
以530f7d17(实际为46/40/15 - 15/8/2021)为例
1.将从左到右的每一位都转换成4位二进制数,不够四位的左侧补0,之后得到32位二进制数
//convert original hex text to binary array in order
std::string b[16] = {"0000","0001&#