Kontrollsifferberegning av Modulo 43

Beskrivelse av beregning av kontrollsifre



InfoActiveBarcode beregner kontrollsifre for de fleste koder automatisk.
Denne dokumentasjonen er kun for fullstendighetens skyld.

Modulo 43

Beregning av en kontrollsum i henhold til Modulo 43:
Et kontrollsiffer i henhold til Modulo 43 brukes f.eks. av Code 39.

Først tildeles referansenumre til alle tegnene i koden. Disse referansenumrene legges til en total. Dette beløpet deles med 43. Resten av denne divisjonen tilsvarer kontrollsummen, som deretter erstattes av tegnet som tilsvarer referansenummeret.

Et beregningseksempel:

Sifre: 1 5 9 A Z
Referansenummer: 1 +5 +9 +10 +35
Sum av referansenumre: 60
Beregn sjekksum: 60 / 43 = 1 Rest 17
Kontrollsiffer "H" (Referansenummer 17)

Referansenummer:
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 %


Kodeeksempel for beregning av kontrollsummen i henhold til Modulo 43

Excel VBA-kode for beregning av kontrollsummen i henhold til Modulo 43, f.eks. for HIBC-koden:
' 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