Оригинальный штрих-код имел FNC1 в начале. Ни один штрих-код не имеет FNC1 в конце. Как заявляет Терри Бертон, FNC1 в начале указывает, что штрих-код используется для GS1, и данные для этого кода обычно обозначаются (30) 925018. Контрольной суммой, рассчитанной для первого штрих-кода, является число 09 или код 128 символа ')' для правой пары.
105
102
30*2 = 60
92*3 = 276
50*4 = 200
18*5 = 90
(105 + 102 + 60 + 276 + 200 + 90) = 833
833 % 103 = 09 (')')
Второй контрольной суммой для штрих-кода без FNC1 является число 26 или код 128 символов ':' для двоеточия.
105
30
92*2 = 184
50*3 = 150
18*4 = 72
105 + 30 + 184 + 150 + 72 = 541
541 % 103 = 26 (':')
Возможно ли иметь контрольную сумму, равную символу FNC1? Да. Контрольная сумма является результатом оператора по модулю взвешенной суммы элементов в штрих-коде и числа 103, поэтому любое число до 102 (FNC1) может быть результатом контрольной суммы. Поскольку стандарт Code 128 не придает особого значения символу в позиции контрольной суммы (последний символ перед STOP), это не имеет значения.
Когда вы пытаетесь расшифровать штрих-код Code 128, имейте в виду, что не существует такого понятия, как межсимвольный интервал. Символ будет точно такой же ширины (11 "точек"), если это не символ остановки (в этом случае 13 "точек"). Ширина каждой точки масштабируется с графикой. Вам лучше не игнорировать конечные "нули" каждого персонажа. Они значимы.