Как обрабатывать растровые изображения ISO8583 с не шестнадцатеричными символами - PullRequest
2 голосов
/ 17 апреля 2019

Я пытаюсь правильно проанализировать сообщение ISO8583 (1987) в Python 3, используя пакет py8583.После некоторых проблем с синтаксическим анализатором я понял, что растровое изображение в сообщении ISO8583, похоже, неправильно отформатировано.

Это растровое изображение ISO8583: P8P1211661684989

Этоэто полное сообщение ISO8583.Он использует данные мусорного теста, поэтому не нужно беспокоиться о конфиденциальной информации.NP0100P8P1211661684989300000000000002004914104019041104009904SHDPf406c431Cashier_01 01301001000200491665D9832B92FD380C

Насколько я понимаю, растровое изображение должно содержать только шестнадцатеричные символы 1-9 / AF, но, как вы можете видеть, оно начинается с "P8P12 ...".

Есть ли что-тоЯ здесь скучаю?Эти сообщения ISO8583 в настоящее время используются в компании уровня предприятия.Кроме того, в то время как некоторые онлайн-парсеры выдают ошибку растрового изображения, я обнаружил, что она, кажется, хорошо разбирает ее (ссылка ниже).Я не могу понять, как он выполняет анализ.

http://www.fintrnmsgtool.com/decode-iso87-bitmap.html (Правка: glhr правильно указал, что этот сайт не позволяетвведите не шестнадцатеричные символы, только скопируйте / вставьте их, так что это, вероятно, больше не имеет отношения к вопросу.)

Hex dump ниже:

0010   08 00 45 00 00 ab 03 b1 00 00 3c 06 fa 89 c0 a8
0020   15 02 40 87 69 e1 81 1c 0b bb b7 b9 78 55 c7 86
0030   4a 2c 50 18 12 24 2f d3 00 00 4e 50 00 00 00 7d
0040   30 31 30 30 50 38 00 01 80 c0 00 50 31 32 31 31
0050   36 36 31 36 38 34 39 38 39 33 30 30 30 30 30 30
0060   30 30 30 30 30 30 30 32 30 30 34 38 31 34 30 39
0070   35 39 31 39 30 34 31 31 30 34 30 30 39 39 30 34
0080   53 48 44 50 66 34 30 36 63 34 33 31 43 61 73 68
0090   69 65 72 5f 30 31 20 20 20 20 20 30 31 33 30 31
00a0   30 30 31 30 30 30 32 30 30 34 38 31 36 36 35 44
00b0   39 38 33 32 42 39 32 46 44 33 38 30 43

Любая помощь от экспертов ISO8583 будетс благодарностью!

...