Size: a a a

2020 February 28

AP

Anton Petrusevich in Modern::Perl
а подпись не предусматривается?
источник

VO

Vyacheslav Olkhovchenkov in Modern::Perl
echo '92SyF3t7OCC+AFN9uaWYEty3V2n7nn/WLwZGvubRzxLI9JwE1jazNRB9/emjNOeZU1Pstbae57/lUEVUzHqvhMtw==' | openssl enc -d -base64 | hexdump -C
00000000  f7 64 b2 17 7b 7b 38 20  be 00 53 7d b9 a5 98 12  |.d..{{8 ..S}....|
00000010  dc b7 57 69 fb 9e 7f d6  2f 06 46 be e6 d1 cf 12  |..Wi..../.F.....|
00000020  c8 f4 9c 04 d6 36 b3 35  10 7d fd e9 a3 34 e7 99  |.....6.5.}...4..|
источник

VO

Vyacheslav Olkhovchenkov in Modern::Perl
а 020469045917454221f"t(AXLfS0>*K] -- наверное служебка от сканера
источник

VG

Vadim Goncharov in Modern::Perl
зачем openssl, в базе декодер попроще есть
источник

AP

Anton Petrusevich in Modern::Perl
последние 24 символа это вот:
$ perl -MMIME::Base64 -E 'say length decode_base64 "9/emjNOeZU1Pstbae57/lUEVUzHqvhMtw=="'
24
источник

VO

Vyacheslav Olkhovchenkov in Modern::Perl
Vadim Goncharov
зачем openssl, в базе декодер попроще есть
в моей базе -- нет
источник

VG

Vadim Goncharov in Modern::Perl
Vyacheslav Olkhovchenkov
в моей базе -- нет
есть, b64decode
источник

VO

Vyacheslav Olkhovchenkov in Modern::Perl
имя сложнее
источник

AP

Anton Petrusevich in Modern::Perl
такое ощущение, что 2д сканер считывает не только штрих-код, но и кр-код
источник

P

Pavel in Modern::Perl
да этот код он составлен по такому принципу (судя по доке четного знака)

Код маркировки обувных товаров Data Matrix код состоит из:
Кода товара, 14 цифровых символов
Индивидуального серийного номера единицы товара, который генерируется оператором системы или участником оборота товаров, 13 символов
Ключ проверки, предоставляемый оператором системы, 4 символа
Код проверки, предоставляемый оператором системы, 88 символов

Массив информации, содержащий в кодировке ASCII последовательность следующего вида:
идентификатор применения <значение идентификатора применения> без кода проверки.
В указанный массив информации должны включаться код вида товара GTIN (идентификатор применения 01)
и серийный номер (идентификатор применения 21).
Длина массива до 30 байт
источник

P

Pavel in Modern::Perl
по документации чесногознака я код разобрал и смог получить тоже самое что в их примерах, и этот код проглатывает к примеру Атол (там просто строка с hex), а вот для чеконлайн нужно получить массив из uint8
источник

AP

Anton Petrusevich in Modern::Perl
uint8 — это "октет", по сути, просто байт
источник

P

Pavel in Modern::Perl
вот и разбор есть на примере как его интерпретироватиь:
ример 2:
Считанная бинарная последовательность:

010460406000600021N4N57RSCBUZTQ\u001d2403004002910161218\u001d1724010191ffd0\u001d92tIAF/YVoU4ro
QS3M/m4z78yFq0fc/WsSmLeX5QkF/YVWwy8IMYAeiQ91Xa2z/fFSJcOkb2N+uUUmfr4n0mOX0Q==

4
Выделенная последовательность для передачи в значение тега 1162: 04604060006000 &
N4N57RSCBUZTQ.

04604060006000 - представляется в виде 6-байтного hex: 04h 2Fh F7h 5Ch 76h 70h.
4 2F F7 5C 76 70
N4N57RSCBUZTQ - кодируется в набор байт hex, интерпретируя символы согласно ASCII таблицы:
4Eh 34h 4Eh 35h 37h 52h 53h 43h 42h 55h 5Ah 54h 51h.

Значение реквизита «код товара» (тег 1162):
44h 4Dh 04h 2Fh F7h 5Ch 76h 70h 4Eh 34h 4Eh 35h 37h 52h 53h 43h 42h 55h 5Ah 54h 51h.
источник

P

Pavel in Modern::Perl
т.е. из самого кода используют 04604060006000 & N4N57RSCBUZTQ + добавляют служебные 44h 4Dh
источник

P

Pavel in Modern::Perl
Anton Petrusevich
uint8 — это "октет", по сути, просто байт
но это именно integer ?
источник

AP

Anton Petrusevich in Modern::Perl
можешь считать его "unsigned char"
источник

AP

Anton Petrusevich in Modern::Perl
это байт
источник

AP

Anton Petrusevich in Modern::Perl
диапазон значений 0—255
источник

P

Pavel in Modern::Perl
ну то есть по сути я могу строку N4N57RSCBUZTQ перекодировать через ASCII коды...
источник

AP

Anton Petrusevich in Modern::Perl
т.е. чтобы получить правильное представление, нужно воспользоваться pack
источник