Prüfzifferberechnung

Berechnung von Prüfziffern für Barcodes

Modulo 10

ActiveBarcode: Info ActiveBarcode berechnet automatisch Prüfziffern für Barcodes.
Es ist nicht erforderlich, diese Prüfziffern manuell zu berechnen oder hinzuzufügen. Diese Dokumentation wird lediglich der Vollständigkeit halber beigefügt.
Berechnung einer Prüfsumme nach Modulo 10:
Eine Prüfziffer nach Modulo 10 wird von EAN-Codes verwendet, z. B. EAN-13.

Bei den EAN Codes wird die Prüfziffer nach dem Modulo 10 Berechnungsverfahren mit der Gewichtung 3 berechnet. Die Gewichtung 3 wird an der ersten Nutzziffer von rechts begonnen. Dann werden die einzelnen Nutzziffern mit der Gewichtung multipliziert. Diese daraus resultierenden Ergebnisse werden zu einer Summe addiert. Von dieser Summe wird das Modulo 10 berechnet. Zunächst wird die Summe durch 10 dividiert. Der Rest der Division wird von 10 subtrahiert. Das Ergebnis dieser Subtraktion ist die Prüfsumme/Prüfziffer.

Im folgenden sehen Sie ein Berechnungsbeispiel für Modulo 10 anhand eines EAN-13 Codes:

Ziffern: 4 0 0 7 6 3 0 0 0 0 1 1
Gewichtung: 1 3 1 3 1 3 1 3 1 3 1 3
Ergebnisse: 4+0+0+21+6+9+0+0+0+0+1+3 = 44
Prüfsumme berechnen: Die Ergänzung zum nächsten Vielfachen von 10 (50)
Prüfziffer 6


Bei den Code 25 Codes wird die Prüfziffer nach dem Modulo 10 Berechnungsverfahren auch mit der Gewichtung 3 berechnet. Die Gewichtung 3 wird allerdings an der ersten Nutzziffer von links begonnen. Dann werden die einzelnen Nutzziffern mit der Gewichtung multipliziert. Diese daraus resultierenden Ergebnisse werden zu einer Summe addiert. Von dieser Summe wird das Modulo 10 berechnet. Zunächst wird die Summe durch 10 dividiert. Der Rest der Division wird von 10 subtrahiert (Differenz zu 10 errechnen). Das Ergebnis dieser Subtraktion ist die Prüfsumme/Prüfziffer.

Im folgenden sehen Sie ein Berechnungsbeispiel für Modulo 10 anhand eines Code 25 Codes:

Ziffern: 1 2 3 4 5
Gewichtung: 3 1 3 1 3
Ergebnisse: 3+2+9+4+15 = 33
Prüfsumme berechnen: Die Ergänzung zum nächsten Vielfachen von 10 (40)
Prüfziffer 7


Bei dem Leitcode und dem Identcode wird die Prüfziffer ebenfalls nach dem Modulo 10 Berechnungsverfahren berechnet. Hier ist die Gewichtung jedoch anders: Gewichtung von 4 bei ungeraden Positionen und 9 bei geraden Positionen. Hier ein Berechnungsbeispiel:

Ziffern: 2 3 6 6 9 0 1 2 0 1 2 3 0
Gewichtung: 4 9 4 9 4 9 4 9 4 9 4 9 4
Ergebnisse: 8+27+24+54+36+0+4+18+0+9+8+27+0 = 215
Prüfsumme berechnen: Die Ergänzung zum nächsten Vielfachen von 10 (220)
Prüfziffer 5


Ein Berechnungsbeispiel für Modulo 10 anhand eines EAN-14 / ITF-14 / SCC-14 / DUN-14 Codes:

Ziffern: 0 4 0 0 7 6 3 0 0 0 0 1 1
Gewichtung: 3 1 3 1 3 1 3 1 3 1 3 1 3
Ergebnisse: 0+4+0+0+21+6+9+0+0+0+0+1+3 = 44
Prüfsumme berechnen: Die Ergänzung zum nächsten Vielfachen von 10 (50)
Prüfziffer 6

Modulo 11

ActiveBarcode: Info ActiveBarcode berechnet automatisch Prüfziffern für Barcodes.
Es ist nicht erforderlich, diese Prüfziffern manuell zu berechnen oder hinzuzufügen. Diese Dokumentation wird lediglich der Vollständigkeit halber beigefügt.
Berechnung einer Prüfsumme nach Modulo 11:
Eine Prüfziffer nach Modulo 11 wird z. B. von PZN verwendet. Eine Modulo 11 wird auch bei der ISBN verwendet.

PZN
Zunächst werden alle Ziffern einzeln mit einem Multiplikator multipliziert. Multiplikator entspricht der Position der Ziffer + 1. Alle daraus resultierenden Produkte werden addiert. Das Ergebnis wird durch 11 dividiert. Der daraus resultierende Rest ist die Prüfziffer. Falls sich als Prüfziffer eine 10 ergibt, so wird diese Nummer nicht als PZN vergeben. Der Code wäre also ungültig.

Ein Berechnungsbeispiel:

Ziffern: 6 3 1 9 4 2
Gewichtung: 2 3 4 5 6 7
Ergebnisse: 12+9+4+45+24+14 = 108
Prüfsumme berechnen: 108 / 11 = 9 Rest 9
Prüfziffer 9


Die ISBN-10 und die ISSN Prüfsumme
Zunächst werden alle Ziffern einzeln mit einem Multiplikator multipliziert. Der Multiplikator entspricht der Position der Ziffer + 1 von rechts. Alle daraus resultierenden Produkte werden addiert. Das Ergebnis wird durch 11 dividiert. Der daraus resultierende Rest wird von 11 abgezogen und ergibt die Prüfziffer.
Wenn bei diesem Prüfsummenverfahren das Ergebnis 11 errechnet wird, so ist die Prüfsumme 0. Als Ergebnis die 0 nicht errechnet werden, da im vorherigen Schritt (Rest bei Division durch 11) die 11 als Ergebnis unmöglich ist.
Es kann auch vorkommen, daß die Ziffer 10 benötigt wird. Die 10 wird durch ein X dargestellt, wie zum Beispiel bei "3-928444-00-X".

Ein Berechnungsbeispiel:

Ziffern: 3 9 2 8 4 4 4 0 4
Gewichtung: 10 9 8 7 6 5 4 3 2
Ergebnisse: 30 + 81 + 16 + 56 + 24 + 20 + 16 + 0 + 8 = 251
Prüfsumme berechnen: 251 / 11 = 22 Rest 9 -> 11 - 9 = 2
Prüfziffer 2

Modulo 16

ActiveBarcode: Info ActiveBarcode berechnet automatisch Prüfziffern für Barcodes.
Es ist nicht erforderlich, diese Prüfziffern manuell zu berechnen oder hinzuzufügen. Diese Dokumentation wird lediglich der Vollständigkeit halber beigefügt.
Berechnung einer Prüfsumme nach Modulo 16:
Modulo 16 wird von der Strichcode-Symbologie Codabar verwendet. Hier ist ein Beispiel für die Berechnung der Prüfziffer nach Modulo 16.

Ziffern: A 7 8 9 A
Referenznummern: 16 7 8 9 16
Summe der Referenznummern: 56
Prüfsumme berechnen: 56 / 16 = 3 Rest 8
difference: 16 - 8 = 8
Prüfziffer Referenznummer 8 = 8

Referenznummern:
00 = 0
01 = 1
02 = 2
03 = 3
04 = 4
05 = 5
06 = 6
07 = 7
08 = 8
09 = 9
10 = -
11 = $
12 = :
13 = /
14 = .
15 = +
16 = A
17 = B
18 = C
19 = D

Modulo 43

ActiveBarcode: Info ActiveBarcode berechnet automatisch Prüfziffern für Barcodes.
Es ist nicht erforderlich, diese Prüfziffern manuell zu berechnen oder hinzuzufügen. Diese Dokumentation wird lediglich der Vollständigkeit halber beigefügt.
Berechnung einer Prüfsumme nach Modulo 43:
Eine Prüfziffer nach Modulo 43 wird z.B. vom Code 39 verwendet.

Zunächst werden allen Zeichen des Codes Referenzzahlen zugeordnet. Diese Referenzzahlen werden zu einer Summe addiert. Diese Summe wird durch 43 diviert. Der Rest dieser Division enspricht der Prüfsumme, welche dann wieder mittels des Zeichens passend zur Refezenzzahl dargestellt wird.

Ein Berechnungsbeispiel:

Ziffern: 1 5 9 A Z
Referenznummern: 1 +5 +9 +10 +35
Summe der Referenznummern: 60
Prüfsumme berechnen: 60 / 43 = 1 Rest 17
Prüfziffer "H" (Referenznummer 17)

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


Codebeispiel zur Berechnung der Prüfsumme nach Modulo 43

Excel VBA Code zur Berechnung der Prüfsumme nach Modulo 43, z.B. für den HIBC Code:
' 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

Modulo 47

ActiveBarcode: Info ActiveBarcode berechnet automatisch Prüfziffern für Barcodes.
Es ist nicht erforderlich, diese Prüfziffern manuell zu berechnen oder hinzuzufügen. Diese Dokumentation wird lediglich der Vollständigkeit halber beigefügt.
Berechnung einer Prüfsumme nach Modulo 47:
Ein Prüfzeichen nach Modulo 47 wird z.B. vom Code 93 verwendet.

Code 93 verwendet 2 Prüfsummen, die sogenannte C-Prüfsumme und die sogenannte K-Prüfsumme. Beide werden nach dem gleichen Prinzip berechnet. Die K-Prüfsumme enthält jedoch auch die C-Prüfsumme.

Bei der Berechnung werden zunächst allen Zeichen des Codes Referenzzahlen zugeordnet. Jeder Stelle in dem Code wird eine Gewichtung zugeordnet und war inkrementell von hinten. Demnach hat die letzte Position die Gewichtung 1, die vorletze Position die Gewichtung 2 usw. Die Referenzzahlen werden jeweils mit der Gewichtung multipliziert. Die daraus resultierenden Einzelergebnisse werden addiert.

Diese Gesamtsumme wird nun durch 47 geteilt. Der Rest dieser Teilung entspricht der Prüfsumme, welche über die Referenzzahl als Zeichen codiert wird.

Die K-Prüfsumme wird auf die gleiche Weise ermittelt. Diesmal wird jedoch die Zeichenkette des Codes - wie bei der ersten Prüfsumme - plus die C-Prüfsumme als Basis verwendet. Die zuerst ermittelte Prüfsumme geht also in die Berechnung der zweiten Prüfsumme mit ein.

Ein Berechnungsbeispiel:

Checksum with Modulo47

Referenznummern Code 93:

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 ($)
44 (%)
45 (/)
46 (+)
- * Start/Stop