Расчет контрольной цифры Modulo 43

Описание расчета контрольных цифр



InfoActiveBarcode автоматически рассчитывает контрольные цифры для большинства кодов.
Данная документация предоставляется исключительно в целях полноты информации.

Modulo 43

Расчет контрольной суммы по модулю 43:
Контрольная цифра по модулю 43 используется, например, в коде 39.

Во-первых, всем символам кода присваиваются справочные номера. Эти справочные номера добавляются к общей сумме. Эта сумма делится на 43. Остальная часть этого раздела соответствует контрольной сумме, которая затем заменяется символом, соответствующим справочному номеру.

Пример расчета:

Цифры: 1 5 9 A Z
Референсные номера: 1 +5 +9 +10 +35
Сумма справочных номеров: 60
Рассчитать контрольную сумму: 60 / 43 = 1 Остаток 17
Контрольная цифра "H" (Референсный номер 17)

Референсные номера:
00 0
01 1
02 2
03 3
04 4
05 5
06 6
07 7
08 8
09 9
10 A
11 B
12 C
13 D
14 E
15 F
16 G
17 H
18 I
19 J
20 K
21 L
22 M
23 N
24 O
25 P
26 Q
27 R
28 S
29 T
30 U
31 V
32 W
33 X
34 Y
35 Z
36 -
37 .
38 Space
39 $
40 /
41 +
42 %


Пример кода для расчета контрольной суммы по модулю 43

Код Excel VBA для расчета контрольной суммы по модулю 43, например, для кода HIBC:
' calc modulo 43
‘ returns the input string plus the check character
' demo for www.activebarcode.com
Public Function MOD43CheckChar(sValue As String) As String
    Const charSet As String = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%"
    Dim i As Integer
    Dim T As Long
    For i = 1 To Len(Trim(UCase(sValue)))
        T = InStr(charSet, Mid(sValue, i, 1)) - 1 + T
    Next i
    MOD43CheckChar = sValue & Mid$(charSet, (T Mod 43 + 1), 1)
End Function