低価格・高品質なバーコードならテクニカル
第1章第2章第3章第4章第5章第6章handbookトップへ

第4章 バーコードの体系

1:主要なバーコードの種類と特徴2:JAN(EAN)-8/13(2001年1月改正) 3:PLUとNON-PLU
4: ソースマーキングとインストアマーキング5:CODE39 6:lndustial 2 of 57:ITF(lnterleaved 2 of 5)
8:NW-7(CODABAR)9:UPC-A/E10:CODE9311:CODE12812:バーコードを選ぶポイント|13:チェックデジット算出方法

13:チェックデジット算出方法


チェックデジットの算出方法はバーコード種によりいろいろな方法がありますが、次の3種類が一般的には用いられています。

(1)モジュラス10のウェイト3
モジュラス10はJANやInterleaved 2 of 5などで用いられます。
JANで「4912345」のチェックデジットを求めてみます。

  1. データの最も右側にある桁を奇数とし、奇数位置の数学を3倍します。
    4 9 1 2 3 4 5 ?
    (5+3+1+4 ) × 3 = 3 9

  2. 次に偶数桁の和をとります。
    4 + 2 + 9 + = 1 5

  3. 1と2の和をとります。
    3 9 + 1 5 = 5 4

  4. 10から3の1の位の数字を引きます。この数字がチェックデジットになります。
    1 0 - 4 = 6
    この場合のチェックデジットは6で、データは「49123456」となります。

    ※3の結果が0の場合はチェックデジットは0となります。


(2)モジュラス16
モジュラス16は、NW-7に用いられる計算方法です。
NW-7は4種のスタートコード、4種のストップコードがあるため、スタートコード、ストップコードもチェックの対象としています。

NW-7で「A37859B」のチェックデジットを求めてみます。
  1. スタート、ストップコードを含めた全てのキャラクタを、第1表に基づいて数値に変換します。
    そして、その数値を合計します。
    1 6 + 3 + 7 + 8 + 5 + 9 + 1 7 = 6 5

  2. 1で合計した数値を16で割り、余りを求めます。
    6 5 ÷ 1 6 = 余 り 1

  3. 16から余りの数値を引きます。
    1 6 - 1 = 1 5
    ※余りが0の場合は、0とします。

  4. 3で求めた数値を、第一表によりキャラクタに変換します。
    15のキャラクタは+であるので、チェックデジットは+となります。

    この場合のチェックデジットは+となります。

    この場合のチェックデジットを含めたデータは、「A37856+B」となります。
第1表 モジュラス16 チェックデジット換算表
文字 0 1 2 3 4 5 6 7 8 9
数値 0 1 2 3 4 5 6 7 8 9

 文字  - $ : / + A B C D
 数値  10 11 12 13 14 15 16 17 18 19



(3)モジュラス43
モジュラス43はCODE39で用いられるチェックデジットの計算方法です。CODE39で有効な43種類のキャラクタにそれぞれNumericNumberが割り当てられていて、数値に換算された後に計算します。CODE39で「*TEST*」のチェックデジットを求めてみます。
  1. 第2表より、すべてのデータキャラクタを数値に変換します。
    (スタート、ストップコード「*」は除きます。)
    TEST→29,14,28,29
  2. 変換された数値の和を取ります。
    2 9 + 1 4 + 2 8 + 2 9 = 1 0 0
  3. 2の結果を43で割り、余りを算出します。
    100÷43=余り14
  4. 3で算出した余りの14を、第2表でキャラクタに変換します。
    14→E
    チェックデジットはEで、データは「*TESTE*」となります。
第2表 モジュラス43 チェックデジット換算表
文字 0 1 2 3 4 5 6 7 8 9 A B C D E
数値 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

文字 F G H I J K L M N O P Q R S T
数値 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

文字 U V W X Y Z -   $ / + %
数値 30 31 32 33 34 35 36 37 38 39 40 41 42


製品の情報 バーコードハンドブック