Расшифровка заголовка электронной почты Thread-index / ConversationIndex - PullRequest
0 голосов
/ 29 мая 2020

Я пытался декодировать Thread-Index или ConversationIndex , следуя этой ссылке У меня есть код беседы сборки ...

Он работает нормально, но проблема это при нахождении differenceTime для childBlocks

, если первый бит равен '0' (добавлены старшие 15 бит и младшие 18 бит), результаты верны для этого случая , но я сомневаюсь, что У меня есть ошибка, когда 1-й бит равен 1

Я также ссылался на Microsoft Документация и пытался добавить высокие 10 бит и низкие 23 бит, когда 1-й бит - '1' . Но результаты неверны

Рассмотрим этот пример, упомянутый в этой ссылке : Я получил правильную разницу во времени, а вот поток…

Child Block Hex:0000CCBA30
Child Block Binary:0000000000000000110011001011101000110000  Length:40
Child Block Segerated:0 0000000000000001100110010111010 0011    0000
Since have 1st bit as '0' added high 15 bits and the low 18 bits:
Difference Time in Binary:0000000000000000000000000000001100110010111010000000000000000000
Difference Time in milliseconds:1373896
difference Time is : 00:22:53
Child Block Result Time:Wed Jan 02 22:53:58 IST 2013

Но для индекса разговора: AQHWLRNo4NaOjvXU8EODe0ZotrA8B6itzaxf, который я использовал для тестирования ...

zero paded file time  : 1D62D1368000000
nano seconds          : 132342800426467328
Result Header Time :2020-05-18T12:54:02.646732800Z(Got this correct) 
Hex:A8ADCDAC5F
Child Block Binary    : 1010100010101101110011011010110001011111     Length:40
Child Block Segerated:1 0101000101011011100110110101100 0101    1111
Since have 1st bit as '1' added high 10 bits and the low 23 bits: 0000000000010100010101101110011011010110000000000000000000000000
Difference Time in NanoSeconds:5725048967004160
Difference Time in milliseconds:572504896700
difference Time is : 159029:08:16
Sum of header and child nanosecond:138067849393471488
Child Block Time   : 2038-07-09T18:02:19.347148800Z
...