チェック数字の計算方法

このドキュメントはあくまで完全性を期すためのものである。
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