11
チェックデジットは読み誤りがないかをチェックするために、算出された数値です。
以下にそのチェックの流れと計算方法を解説します。
チェックデジットとは
チェックデジットの計算法
JAN、ITFに適用されるモジュラス10/3ウェイトと呼ばれるチェックデジットの計算方法を
JAN(497123456789)を例に説明します。
①コードの数字に右端から順に番号を付けます。
②奇数番号の数字には3を、偶数番号の数字には1をそれぞれ掛けます。
③その数の総和を求め、下1桁の数を10から引いて出た数がチェックデジットです。
付 録4
データは ”123 ”
チェックデジットは
”6”のバーコード
・バーコードを読み取ります。読み取り
1 2 3 6
・データ部より、チェックデジットを
算出します。
・算出されたチェックデジットと読み取った
バーコードに付加されたチェックデジットを
比較します。
・一致しなければ、リードエラーとなります。
一 致
正常読み取り
不一致
リードエラー
読み取りデータと比較
1 2 3 6
6
比較
チェックデジット算出
1 2 3 6
6
=133
+ + + + + +
10−3(133の下1桁) =7
+ + + + +
こうして、チェックデジット7が計算できます。
12
4
×
1
=
4
11
9
×
3
=
27
10
7
×
1
=
7
9
1
×
3
=
3
8
2
×
1
=
2
7
3
×
3
=
9
6
4
×
1
=
4
5
5
×
3
=
15
4
6
×
1
=
6
3
7
×
3
=
21
2
8
×
1
=
8
1
9
×
3
=
27
12
チェックデジットは読み誤りがないかをチェックするために、算出された数値です。
以下にそのチェックの流れと計算方法を解説します。
チェックデジットとは
チェックデジットの計算法
JAN、ITFに適用されるモジュラス10/3ウェイトと呼ばれるチェックデジットの計算方法を
JAN(497123456789)を例に説明します。
①コードの数字に右端から順に番号を付けます。
②奇数番号の数字には3を、偶数番号の数字には1をそれぞれ掛けます。
③その数の総和を求め、下1桁の数を10から引いて出た数がチェックデジットです。
付 録4
データは ”123 ”
チェックデジットは
”6”のバーコード
・バーコードを読み取ります。読み取り
1 2 3 6
・データ部より、チェックデジットを
算出します。
・算出されたチェックデジットと読み取った
バーコードに付加されたチェックデジットを
比較します。
・一致しなければ、リードエラーとなります。
一 致
正常読み取り
不一致
リードエラー
読み取りデータと比較
1 2 3 6
6
比較
チェックデジット算出
1 2 3 6
6
=133
+ + + + + +
10−3(133の下1桁) =7
+ + + + +
こうして、チェックデジット7が計算できます。
12
4
×
1
=
4
11
9
×
3
=
27
10
7
×
1
=
7
9
1
×
3
=
3
8
2
×
1
=
2
7
3
×
3
=
9
6
4
×
1
=
4
5
5
×
3
=
15
4
6
×
1
=
6
3
7
×
3
=
21
2
8
×
1
=
8
1
9
×
3
=
27
Q 27 チェックデジットはどういう仕組みでチェックされるのですか?
チェックデジットは読み誤りがないかをチェックするために、算出された数値です。
以下のように読み取りデータと付加されたチェックデジットを比較することで、読み
取りが正しいかをチェックします。
9
チェックデジットの計算法
JAN、ITFに適用されるモジュラス10/3ウェイトと呼ばれるチェックデジットの計算方法を
例に説明します。
こうして、チェックデジット7が計算できます。
Point
① コードの数字に右端から順に番号を付けます。
② 奇数番号の数字には3を、偶数番号の数字には1をそれぞれ掛けます。
③ その数の総和を求め、下1桁の数を10から引いて出た数がチェックデジットです。
デ ー タ は ”1 2 3 ”
チェックデジットは
”6”のバーコード
・バーコードを読み取ります
・データ部より、チェックデジットを
算出します。
・算出されたチェックデジットと
読み取ったバーコードに付加された
チェックデジットを比較します。
・一致しなければ、リードエラーと
なります。
第1章バーコードのしくみ
チェックデジットは読み誤りがないかをチェックするために、算出された数値です。
以下にそのチェックの流れと計算方法を解説します。
JAN、ITFに適用されるモジュラス10/3ウェイトと呼ばれるチェックデジットの計算方法を
例に説明します。
チェックデジットとは1- 4
6
ポイント
コードの数字に右端から順に番号を付けます。
奇数番号の数字には3を、偶数番号の数字には1をそれぞれ掛けます。
その数の総和を求め、下1桁の数を10から引いて出た数がチェックデジットです。
こうして、チェックデジット7が計算できます。
10−3(133の下1桁) =7
・算出されたチェックデジットと読
み取ったバーコードに付加された
チェックデジットを比較します。
・一致しなければ、リードエラーと
なります。
・データ部より、チェックデジットを
算出します。
・バーコードを読み取ります読み取り
1 2 3 6
1 2 3 6
6
1 2 3 6
6
一致
不一致
チェックデジット算出
読み取りデータと比較
比較
正常読み取り
リードエラー
チェックデジットの計算法
1
2
3
12
4
×
1
4 + + + + + + + + + + +
11
9
×
3
27
10
7
×
1
7
9
1
×
3
3
8
2
×
1
2
7
3
×
3
9
6
4
×
1
4
5
5
×
3
15
4
6
×
1
6
3
7
×
3
21
2
8
×
1
8
1
9
×
3
27
= 133
=
=
=
=
=
=
=
=
=
=
=
=
データは ”123 ”
チェックデジットは
”6”のバーコード
1
第
章
9
チェックデジットの計算方法(モジュラス16)Q 58
モジュラス16は NW-7 において使用されるチェックデジットです。
■ 条件
チェックデジットは、バーコードデータの最後の文字の後(ストップキャラクタのすぐ
前)に置かれます。
■ 計算方法
①スタート/ストップキャラクタを含めて、全てのデータを下表に従い数値化します。
②その数値の合計を求めます。
③その合計を16で割り、余りを求めます。
④余りが0の場合は、チェックデジットは0になります。余りが0以外の場合は、16
からその余りを引きます。その余りの数値を下表に従い再度キャラクタに戻した文
字がチェックデジットになります。
(例) A19+1243□Bの場合
キャラクタ 数値 キャラクタ 数値 キャラクタ 数値 キャラクタ 数値
0 0 5 5 -- 10 + 15
1 1 6 6 $ 11 A 16
2 2 7 7 : 12 B 17
3 3 8 8 / 13 C 18
4 4 9 9 . 14 D 19
A
↓
16
68 ÷16 = 4 余り 4
16 ー 4 =12
12 → : … チェックデジット
データ
数値化
1
↓
1
9
↓
9
+
↓
15
1
↓
1
2
↓
2
4
↓
4
3
↓
3
B
↓
17 68+ + + + + + + + =
よって、A19+1243:Bとなります。
6
バーコードデータの信頼性をあげる方法はあるの?Q 55
基本的にバーコード自体は、そのキャラクタ構成に一定のルールがあり、そのルールによっ
て誤って読み取られる確率は非常に低いのですが、さらに誤った読み取りを防止するために
チェックデジットを付加することもできます。
■ チェックデジットを使用する目的
たとえばバーコードの印字に欠け(ボイド)や汚れ(スポット)が発生した場合、バーコー
ドのルールを正しくクリアしてしまい、誤読につながってしまうケースがあります。
このような場合は、データにチェックデジットを付加することで、誤ったデータをバー
コードリーダから送信させないようにすることができます。
EX 正しいバーコードデータ:KEY001(CODE39) のとき、チェックデジットを
計算すると、下記のように“Q”を付加してバーコードが印字されます。
4 桁目の“0”にボイドとスポットが発生し“F”と読み取れた場合、KEYF01のチェック
デジットは“+”となりますので、正しいデータは、“KEYF01+”となります。
しかしバーコードリーダが認識したバーコードキャラクタは、“KEYF01Q”となり、末尾が
“+”ではないため、チェックデジットエラーと判断し読み取りを完了しません。
チェックデジットの検査を行うバーコードリーダであれば、チェックデジット違いから誤読
を防ぐことができます。
スポット ボイド
チェックデジット
バーコードリーダは
“KEYF01Q”と
バーコードデータを読み取ります。
ここを読み取ると“0”になる
ここを読み取ると“F”になる
8
Q 57
モジュラス10/3ウェイトは、JAN、ITF、NW-7 において使用されるチェックデジットです。
■ 条件
・バーコードデータとして使用できる文字は、0~9までの数字のみ。
ただし、NW-7 の場合、スタート/ストップキャラクタをのぞきます。
・チェックデジットは、バーコードデータの最後の文字に置かれます。
NW-7 では、ストップキャラクタのすぐ前に置かれます。
■ 計算方法
①スタート/ストップキャラクタ及びチェックデジットを除いたバーコードデータの右の桁か
ら左の桁へ順に番号を付加します。
②奇数番号の桁には3を、偶数番号の桁には1を掛け、それらの合計を求めます。
③その合計を10で割り、その余りを求めます。
④余りが0の場合は、0がチェックデジットになります。余りが0以外の場合は、10から余
りを引いた値がチェックデジットになります。
チェックデジットの計算方法(モジュラス10/3ウェイト)
(例)490123456789 □の場合
126 ÷10 = 12 余り 6
10 ー 6 = 4 … チェックデジット
よって、4901234567894 となります。
12
4
×
1
=
4
11
9
×
3
=
27
10
0
×
1
=
0
9
1
×
3
=
3
8
2
×
1
=
2
7
3
×
3
=
9
6
4
×
1
=
4
5
5
×
3
=
15
4
6
×
1
=
6
3
7
×
3
=
21
2
8
×
1
=
8
1
9
×
3
=
27
番 号
データ
数値化
+ + + + + + + + + + + = 126
7
Q 56
モジュラス43はCODE39において使用されるチェックデジットです。
■ 条件
チェックデジットは、バーコードデータの最後の文字の後(ストップキャラクタのすぐ前)に
置かれます。
■ 計算方法
① スタート/ストップキャラクタをのぞいたすべてのデータを、下表に従い数値化します。
② その数値の合計を求めます。
③ その合計を43で割り、余りを求めます。
④ 余りの数値を下表に従い、再度キャラクタに戻した文字がチェックデジットになります。
(例) *ABCD1234 +□*の場合
チェックデジットの計算方法(モジュラス43)
キャラクタ 数値 キャラクタ 数値 キャラクタ 数値 キャラクタ 数値
0 0 B 11 M 22 X 33
1 1 C 12 N 23 Y 34
2 2 D 13 O 24 Z 35
3 3 E 14 P 25 -- 36
4 4 F 15 Q 26 -- 37
5 5 G 16 R 27 (SPACE) 38
6 6 H 17 S 28 $ 39
7 7 I 18 T 29 / 40
8 8 J 19 U 30 + 41
9 9 K 20 V 31 % 42
A 10 L 21 W 32
A
↓
10
97 ÷43 = 2 余り 11
11 → B … チェックデジット
データ
数値化
B
↓
11
C
↓
12
D
↓
13
1
↓
1
2
↓
2
3
↓
3
4
↓
4
+
↓
41 97+ + + + + + + + =
よって、*ABCD1234+B* となります。
付 録
59
モジュラス10/3ウェイトの計算方法(JAN,ITF,NW-7)
モジュラス10/3ウェイトはJAN,ITF,NW-7において使用されるチェックデジットです。以下にモジュラ
ス10/3ウェイトを使用する上での条件及び計算方法を説明します。
①スタート/ストップキャラクタ及びチェックデジットを除いたバーコードデータの右の桁から左の桁へ
順に番号を付加します。
②奇数番号の桁には3を、偶数番号の桁には1を掛け、それらの合計を求めます。
③その合計を10で割り、その余りを求めます。
④余りが0の場合は、0がチェックデジットになります。
余りが0以外の場合は、10から余りを引いた値がチェックデジットになります。
・バーコードデータとして使用できる文字は、0∼9までの数字のみです。
ただし、NW-7の場合はスタート/ストップキャラクタを除きます。
・チェックデジットはバーコードデータの最後の文字の後に置かれます。NW-7では、チェックデジットは
バーコードデータの最後の文字の後(ストップキャラクタのすぐ前)に置かれます。
条件
計算方法
(例)490123456789□ の場合
データ
ウェイト
9
×
3
=
+ 27 = 126
126÷10 = 12 余り 6
10ー6 = 4 … チェックデジット
123456789101112
8
×
1
=
+ 8
7
×
3
=
+21
6
×
1
=
+ 6
5
×
3
=
+15
4
×
1
=
+ 4
3
×
3
=
+ 9
2
×
1
=
+ 2
1
×
3
=
+ 3+0+274
0
×
1
=
9
×
3
=
4
×
1
=
番号
よって、4901234567894 となります。
付
録
10
チェックデジットの計算方法(モジュラス11)Q 59
モジュラス11は NW-7 において使用されるチェックデジットです。
■ 条件
・チェックデジットは、バーコードデータの最後の文字の後
(ストップキャラクタのすぐ前)に置かれます。
・バーコードデータとして使用できる文字は、0~9までの数字のみ。
ただし、スタート/ストップキャラクタをのぞきます。
・モジュラス11は、バーコードデータの中の最初の 6 桁までを使用します。
よってバーコードデータとしてスタート/ストップキャラクタを除き、6 桁以上必要です。
ただし、6 桁より多い場合は、最初の 6 桁のみがモジュラス11の計算の対象となり、
残りの桁は無視されます。
・チェックデジットは、バーコードデータの最後の文字に置かれます。
NW-7 では、ストップキャラクタのすぐ前に置かれます。
■ 計算方法
①スタート/ストップキャラクタを除いた最初の6桁までの数字を取り出します。
②取り出した数字に先頭から順に7、6、5、4、3、2のウェイト(重み係数)を掛け、
それらの合計を求めます。
③その合計を11で割り、その余りを求めます。
④余りが0の場合は、チェックデジットは1に、余りが1の場合はチェックデジットは0になります。
余りが0、1以外の場合は、11からその余りを引いた値がチェックデジットになります。
(例)A2345678□Aの場合
104 ÷11 = 9 余り 5
11 ー 5 = 6 … チェックデジット
よって、A23456786Aとなります。
2
×
7
=
14
3
×
6
=
18
4
×
5
=
20
5
×
4
=
20
6
×
3
=
18
7
×
2
=
14
データ
ウェイト
+ + + + +
8
無視
= 104