Как вытащить данные из PDF417-кода билета РЖД?

В билетах РЖД есть код в формате PDF417.
При его считывании получаю строку в binary формате. Похоже что сжата.
Начало строки всегда байты: 01 00 01 00 окончание 1B 10 0A.

Вопрос, как определить алгоритм сжатия и вытащить полезную информацию из кода билета?
Хочу знать номер, дату и время отправления поезда, время прибытия, вагон и место.

В тестовом билете получил такой контент:
С помощью https://www.onlinebarcodereader.com/
010001001A002B4A0F41C29EC3B8C3BB535355205B15C3A467C3AEC298C294C3B90BC2ABC3A50542C2A0C398C28A33C3A46506C28F24C39E0544C38FC3AB0CC2B363C3A824C3A709104D51C298C29AC2AD0DC28E00C2A2C3B0C2B1C387C2AEC281684EC2A3C387C28124C3B80AC3AA6AC2B54F55C3B4010000000004402600012003191961C2B41260C28D1BC39E10C39E6030C29229207D0FC2BBC39FC3B71EC2BC4CC297C3B7402010080402C281402060C383C395721301C2BE1B100A
С помощью https://online-barcode-reader.inliteresearch.com/
010001001A002B4A0F419EF8FB535355205B15E467EE9894F90BABE50542A0D88A33E465068F24DE0544CFEB0CB363E824E709104D51989AAD0D8E00A2F0B1C7AE81684EA3C78124F80AEA6AB54F55F4010000000004402600012003191961B412608D1BDE10DE60309229207D0FBBDFF71EBC4C97F740201008040281402060C3D5721301BE1B10

Пример билета https://yadi.sk/i/zP5boKem3YcYP3
Пример кода из билета
5b373767df290379680281.jpeg
  • Вопрос задан
  • 1065 просмотров
Пригласить эксперта
Ответы на вопрос 1
@sadovaya36
Вытащить "данные" оказалось неожиданно непросто.... ))) Я попробовал на разовых билетах цппк.
Данные закодированы в формате PDF417.
Структура билета состоит (как правило, бывают исключения) из 88 байт. Для примера:
"16 30 0f 00 00 00 00 00 00 00 00 00 b8 b0 ef 5b 0c 1c 25 00 eb c0 00 c0 08 91 b9 d9 b7 c2 87 06 5b 0c aa f6 f7 14 bf 0e 06 20 2d 51 25 06 bc ed 76 32 4d 6e 9e bc bf f2 b0 65 ff 91 47 94 ea 82 4d c6 f6 92 66 96 6e d0 c4 94 53 ef 2a c4 52 15 2b 8c 88 48 9d 87 d9 9f "
Здесь:
0-й байт:(16) - "лэйаут" - код расположения (распределения) данных;
1-й и 2-й байты - "номер документа" (проездного билета): (0f30)hex--->(3888)decimal...
и т. д.
закодированы также:
- вид билета ("в одну сторону", "туда и обратно");
- наличие льготы по проезду и ее вид (льготный, безденежный);
- дата и время продажи билета;
- маршрут (от станции... до станции ...);
- идентификатор билетопечатающего устройства;
и другие данные, с некоторыми еще самне разобрался.... :(
Наибольшее неудобство - получение кода .... так как приведенные ондайн сервисы работают некорректно....
На сегодняшний день практически без ошибок работает программа bcTester 5.0.0.231.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы