Бинарные логи + телефонисты = зло

May 22, 2013 11:34

Пишу тут парсер для бинарного лога АТС IskraTel SI2000. Формат лога делали весьма одаренные люди. Мало того что требуется битовая арифметика, так-как к примеру длина кода зоны и длина номера хранятся в одном байте, но длина зоны это первые три бита, а длина номера это следующие 7, так они еще используют BCD для записи номеров и делают выравнивание ( Read more... )

инопланентяне, идиоты на проводе

Leave a comment

Comments 6

veldandi May 22 2013, 08:43:32 UTC
8 0 - 9 100 мс

Авторы явно прочитали где-то про НТФС :)
А вот байт на месяц - это отвал башки, конечно.
Интересно, там нигде в заголовке нет бита, отличающего лунный год от солнечного?

Reply

norguhtar May 22 2013, 08:57:54 UTC
А отсутствие байта отвечающего за столетия тебя не смущает? :) Там причем самое интересное к середине документа ВНЕЗАПНО у остальных полей появилось поле длина переменной части записи. Правда она за каким-то хреном включает еще тип и саму длину. В итоге везде делаешь на нее -2 для пропуска не нужного шлака ;)

Reply

veldandi May 22 2013, 12:27:01 UTC
После HPGL и отечественных графопостроителей меня трудно удивить чем-то подобным :)
Включать размер размера в размер - виндовая мода.
Ну, со столетием-то понятно: люди, наверное, его просто боятся. Даже в слове есть что-то мистическое: СТОЛЕТИЕ... лучше даже не программировать - авось, не наступит.

А как бы могло быть классно: "Наша техника не испытывает проблем с датами вплоть до 2255-го года"

Reply


the__listener May 22 2013, 09:05:33 UTC
Подобные вещи делаются через 010
Обычно получается 2-3 строчки на поле структуры (вне зависимсоти от того, битовое он, вариантное или какое-нибудь еще).

С тех пор, как мне показали, как с этой штукой работать, я забыл про написание своих парсеров.

А битовые структуры... По сравнению с тем, что встречается в GPU - это мелочи. Там есть структуры, в которых в 128-192 бита впихивается шесть вариантов (в зависимсоит от трех бит в середине структуры), по 20-30 полей в каждом.

Reply

norguhtar May 22 2013, 09:15:04 UTC
Я аналогичной шнягой разбираю. Для питона есть bitstring. Первую черновую вариацию набросал щас буду думать как эту лапшу улучшить.

Reply


akitos April 21 2014, 11:21:17 UTC
никогда не понимал тему "кто в лес, кто по дрова". Ну ладно, допустим неприятие международных наработок и стандартов можно объяснить некой патриотической гордостью, типа мы тоже не пальцем. Но почему нельзя внутри национального информационного социума принять какие то стандарты на тот или иной тип информации. Черт, вот нас или погубит или спасет (черт просто ногу сломит в таком разнообразии). Но скорее первое, ибо сильно все тормозит.

Reply


Leave a comment

Up