の桁数計算をチェックする。 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によるチェックサム計算のコード例

モジュロ43に従ってチェックサムを計算するためのエクセルVBAコード:
' 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