Die Modulo 43 Prüfziffer kann im Code 39 benutzt werden. Die Berechnung basiert darauf, dass jedes Zeichen einen Wert zugeordnet bekommt.
Die Tabelle zeigt die Zuordnung in diese Werte auf.
Zeichen | Wert | Zeichen | Wert | Zeichen | Wert |
---|---|---|---|---|---|
0 | 0 | F | 15 | U | 30 |
1 | 1 | G | 16 | V | 31 |
2 | 2 | H | 17 | W | 32 |
3 | 3 | I | 18 | X | 33 |
4 | 4 | J | 19 | Y | 34 |
5 | 5 | K | 20 | Z | 35 |
6 | 6 | L | 21 | - | 36 |
7 | 7 | M | 22 | . | 37 |
8 | 8 | N | 23 | SPACE | 38 |
9 | 9 | O | 24 | $ | 39 |
A | 10 | P | 25 | / | 40 |
B | 11 | Q | 26 | + | 41 |
C | 12 | R | 27 | % | 42 |
D | 13 | S | 28 | ||
E | 14 | T | 29 |
In diesem Beispiel wird von einem Code ausgegangen der die Zeichenfolge BARMATRIXCODE.DE beinhaltet.
B | A | R | M | A | T | R | I | X | C | O | D | E | . | D | E |
11 | 10 | 27 | 22 | 10 | 29 | 27 | 18 | 33 | 12 | 24 | 13 | 14 | 37 | 13 | 14 |
Die Werte werden aufaddiert. Es ergibt als Summe 314. Die Division durch 43 ergibt 7 mit einem Rest von 13.
Der Rest wird als Prüfziffer benutzt. Es wird das Zeichen D, das dem Wert 13 zugeordnet ist, an den Code angehängt. Der Inhalt des Codes sieht dann so aus:
BARMATRIXCODE.DED
Wenn der Rest einen Wert von 29 ergäbe, dann würde das Zeichen T anstelle des Zeichens D kodiert werden. Wenn der Rest 1 ergäbe wäre es das Zeichen 1.
Hinweis : Wenn die Prüfziffer im Modulo 43 Verfahren in einem anderen Kontext benutzt wird, dann muss festgelegt werden welche Werte die Zeichen haben. Ein Möglichkeit für diese Festlegung ist die ASCII Tabelle.
Aus dem Vergleich der ASCII Tabellen mit der obigen Code 39 Tabelle wird auch ersichtlich, dass die Werte beider Tabellen nicht identisch sind. Leider ist auch die Reihenfolge eine andere. Um auf ASCII Zeichenwerte zu kommen muss man folgende Zahlen zu den Code 39 Werten hinzuaddieren:
Ziffernwerte 0..9 : 48
Buchstaben A ... Z : 55
Sonderzeichen : Die Werte müssen einzeln zugeordnet werden.
Hinweis: Die Nutzung der Prüfziffer im Code 39 wird durch die Anwendung festgelegt. Der Code 39 kann ohne Prüfziffer, mit Modulo 10 (nur bei reiner Ziffernkodierung), mit Modulo 43 oder proprietär z.B. mit Modulo 11 benutzt werden.