Расшифровка USPS PDF417 2D штрих-код?

Я много гуглил и не смог найти алгоритм декодирования для штрих-кода PDF417, используемый почтовой службой США. Я хочу получить информацию о получателе и отправителе с номером отслеживания.

Я успешно расшифровал штрих-код FedEx по стандарту ANSI MH10.8.3.

Вот пример штрих-кода, который я хочу декодировать

У меня вопрос, сканирую ли я правильный штрих-код (я не из США, поэтому я не знаю, какая этикетка со штрих-кодом USPS применяется к их посылкам)? Если нет, то какой штрих-код я должен искать, чтобы получить необходимую информацию? Если да, то как я могу декодировать этот штрих-код?

Пожалуйста, помогите, спасибо.

Редактировать:

Вот еще один аналогичный штрих-код

1 ответ

Решение

Вы должны проверить эту веб-страницу:

https://en.wikibooks.org/wiki/International_Postage_Meter_Stamp_Catalog/United_States_of_America,_Part_3

А также эта страница: http://www.stamps.com/postage-online/how-it-works/

Ваш первый штрих-код, кажется, был сгенерирован программным обеспечением Endicia (ID# начинается с 071 В), в то время как второй примерный штрих-код был создан stamps.com (как напечатано, а также ID # начинается с 062S).

Похоже, что сервис stamps.com позволяет печатать марки без указания адреса получателя. По этой причине штрих-код, вероятно, не содержит никакой информации о получателе.

Для записи, декодированные столбцы выглядят следующим образом:

0000  50 01 dc 78 0c 00 30 37  31 56 57 6c 08 00 7a 86  | P~~x~~071VWl~~z~ |
0010  09 c5 4e d8 27 00 8a b7  32 01 24 4f 00 00 67 49  | ~~N~'~~~2~$O~~gI |
0020  6d 15 00 b5 c3 00 00 00  00 06 c1 31 02 b9 02 90  | m~~~~~~~~~~1~~~~ |
0030  d0 a4 4a 1c 02 2a 42 8f  a7 3f 6d c7 03 ea e5 d7  | ~~J~~*B~~?m~~~~~ |
0040  3c 69 86 3c 50 29 28 32  11 74 6a 7f b4 af c7 90  | <i~<P)(2~tj~~~~~ |
0050  16 c3 90 bb fb 2a fa 4e  78 95 e6 20 69 c7 75 01  | ~~~~~*~Nx~~ i~u~ |
0060  00 00                                             | ~~               |

а также:

0000  05 01 ff ff 00 00 30 36  32 53 3b 47 70 00 f2 ed  | ~~~~~~062S;Gp~~~ |
0010  10 00 00 14 1e 00 56 52  33 01 59 33 01 00 00 00  | ~~~~~~VR3~Y3~~~~ |
0020  00 00 00 00 04 00 02 00  00 5c da 00 00 38 30 33  | ~~~~~~~~~\~~~803 |
0030  34 ae 69 57 0d 59 42 1c  d4 0b 00 f2 d3 7f 4f f8  | 4~iW~YB~~~~~~~O~ |
0040  ef 69 53 a0 aa fb 9b cf  30 16 13 c3 08 3e 86 4a  | ~iS~~~~~0~~~~>~J |
0050  7a e8 4c fe 1f eb 4d 2c  52 05 00 6f 33 01 00     | z~L~~~M,R~~o3~~  |
  • Байты 06-09 (индексированные 0) - это префикс идентификатора в ASCII.
  • Байты 0A-0D - это остаток идентификатора, закодированный в двоичном формате с прямым порядком байтов. 3B 47 70 00 - 0x0070473B = 7358267 для второй марки.

  • Для второй марки, байты 5B-5D (6F 33 01) фактически 01 33 6F = 78703, почтовый индекс, с которого они были отправлены. К сожалению, это не работает с первым штампом.

Другие вопросы по тегам