≪モジュラス103≫  
CODE128に用いられる計算方法です。
CODE128は、スタートコードの種類によって3種のキャラクタに変化しますが、下記の換算表のように全てのキャラクタに数値が割り当てられており、この数値を使って計算します。
【例】CODE128でデータが「Start C・FNC1・12・34・56・Code B・X・7・8・9・Stop」の場合
(1) ストップコードを除く全てのデータキャラクタを、下記の換算表に基づき数値に換算します。
(2) スタートコードに「1」を掛け、その次のキャラクタから順に「1、2、3、4、5・・・」とウェイトを掛けます。
Start C 105×1=105
FNC1 102×1=102
12 12×2=24
34 34×3=102
56 56×4=224
Code B 100×5=500
X 56×6=336
7 23×7=161
8 24×8=192
9 25×9=225
(3) (2)のウェイトを掛けた値を全て合計します。
この場合は、各キャラクタの数値の合計は「1971」となります。
(4) (3)の結果を「103」で割り、その余りを求めます。
1971÷103=19余り14
(5) (4)の結果の余りの数値を第3表によりキャラクタに変換します。
「14」のキャラクタは「14」または「.」です。
従ってこの場合、チェックデジットは「14」または「」となり、ストップコードの前に置きます。

モジュラス103のチェックデジット換算表
数値
CodeA
CodeB
CodeC
数値
CodeA
CodeB
CodeC
0
SP
SP
00
53
U
U
53
1
!
!
01
54
V
V
54
2
"
"
02
55
W
W
55
3
#
#
03
56
X
X
56
4
$
$
04
57
Y
Y
57
5
%
%
05
58
Z
Z
58
6
&
&
06
59
[
[
59
7
'
'
07
60
60
8
(
(
08
61
]
]
61
9
)
)
09
62
62
10
*
*
10
63
_
_
63
11
+
+
11
64
NUL
'
64
12
12
65
SOH
a
65
13
13
66
STX
b
66
14
14
67
ETX
CodeA
67
15
15
68
EOT
d
68
16
0
0
16
69
ENQ
e
69
17
1
1
17
70
ACK
FNC1
70
18
2
2
18
71
BEL
g
71
19
3
3
19
72
BS
h
72
20
4
4
20
73
HT
i
73
21
5
5
21
74
LF
j
74
22
6
6
22
75
VT
k
75
23
7
7
23
76
FF
l
76
24
8
8
24
77
CR
m
77
25
9
9
25
78
SOH
n
78
26
26
79
SI
o
79
27
27
80
DLE
p
80
28
<
<
28
81
DC1
q
81
29
=
=
29
82
DC2
r
82
30
>
>
30
83
DC3
s
83
31
?
?
31
84
DC4
t
84
32
@
@
32
85
NAK
u
85
33
A
A
33
86
SYN
v
86
34
B
B
34
87
ETB
w
87
35
C
C
35
88
CAN
x
88
36
D
D
36
89
EM
y
89
37
E
E
37
90
SUB
z
90
38
F
F
38
91
ESC
{
91
39
G
G
39
92
FS
|
92
40
H
H
40
93
GS
}
93
41
I
I
41
94
RS
94
42
J
J
42
95
US
DEL
95
43
K
K
43
96
FNC3
FNC3
96
44
L
L
44
97
FNC2
FNC2
97
45
M
M
45
98
SHIFT
SHIFT
98
46
N
N
46
99
CodeC
CodeC
99
47
O
O
47
100
CodeB
FNC4
CodeB
48
P
P
48
101
FNC4
CodeA
CodeA
49
Q
Q
49
102
FNC1
FNC1
FNC1
50
R
R
50
103
StartA
51
S
S
51
104
StartB
52
T
T
52
105
StartC
         
Stop