Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Кодировка дати и времени в 4 байта, как расшифровать алгоритм?

538
02 апреля 2009 года
AVDEY
188 / / 17.11.2005
Возможно ли как то расшифровать каким образом кодируется дата и время.
У меня есть 4 байта и я точно знаю какая это дата и время, но алгоритма нет, как узнать алгоритм?

11 90 82 FA = 16-12-2008 16:23:52
11 90 82 03 = 16-12-2008 16:16:06
11 90 81 F5 = 16-12-2008 16:15:42
11 90 81 F2 = 16-12-2008 16:15:36
11 90 81 60 = 16-12-2008 16:11:00
0F 0F 72 A3 = 15-08-2007 14:21:06
0F 0F 72 89 = 15-08-2007 14:20:18
38K
03 апреля 2009 года
alt@zir
29 / / 28.08.2008
ну и задачку же ты подогнал... не могу уснуть... вообщем еще не всю решил, но как шифруется время догнал:

 
Код:
(hours<<11) | (min<<5) | (sec>>1)


вообщем время в отличии от юникс-тайма разбито по полям первые 5 бит на секунды, секунды идут с шагом 2(именно обратив внимание на этот момент удалось расшифровать дальше), следующие 6 бит на минуты и еще 5 бит на часы...

сейчас попробую расшивровать дальше...
...
30 минут спустя:
прикинув, что из оставшихся 16 бит, 5 бит нужно на число, 4 бит на месяц, и 7 бит остается на год,
быстро понял что в старшем слове(дата) первые 5 бит это число, следующие 4 бита это месяц, и остается год, год как оказалось считается от 2000
получается:
 
Код:
((year-2000)<<25) | (month<<21) | (date<<16) | (hrs<<11) | (min<<5) | (sec>>1)


и назад:

 
Код:
int year = (cipher_date >> 25) + 2000;
    int month = (cipher_date >> 21) & 0x0f;
    int date = (cipher_date >> 16) & 0x1f;
    int hrs = (cipher_date >> 11) & 0x1f;
    int min = (cipher_date >> 5) & 0x3f;
    int sec = (cipher_date << 1) & 0x3f;


теперь можно спокойно идти спать;)
538
03 апреля 2009 года
AVDEY
188 / / 17.11.2005
Большое спасибо. Все получилось. :)
255
04 апреля 2009 года
Dart Bobr
1.4K / / 09.04.2004
Люди, вы издеваетесь? Не легче посмотреть в сторону стандартных функций обработки времени в винде?
311
04 апреля 2009 года
plastictown
309 / / 08.01.2006
Цитата: Dart Bobr
Люди, вы издеваетесь? Не легче посмотреть в сторону стандартных функций обработки времени в винде?



Это скучно.

38K
04 апреля 2009 года
alt@zir
29 / / 28.08.2008
Цитата: Dart Bobr
Люди, вы издеваетесь? Не легче посмотреть в сторону стандартных функций обработки времени в винде?



эээ... вроде как в винде другие форматы времени используются...

538
04 апреля 2009 года
AVDEY
188 / / 17.11.2005
"Люди, вы издеваетесь? Не легче посмотреть в сторону стандартных функций обработки времени в винде?"
Это вобще не винда, и даже не ПК, так что копать в сторону стандартных функций нет смысла.
Если бы это было так просто то я не задавал вопрос.
Так что большое спасибо alt@zir.
47K
16 апреля 2009 года
Gossioii8
3 / / 06.03.2009
Excellent tips .I really appreciate all these points, and I agree completely…
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог