雑学万歳 > 第106回

第106回 これがバーコードの意味だ!(1)
担当:裏辺金好&松戸合


1.はじめに
 レジでピッと識別され、読み取られていく商品につけられたバーコード。
 その昔は、バーコードバトラーという、おもちゃの機械にバーコードのついたカードを通すと、バーコードでHPなどの強さが表示され、友達と対戦できるなどなど、子供の遊びにも転用されたことのあるバーコードですが、これって一体、具体的にはどういう仕組みで、どういう意味を持っているのでしょうか。まずは私、裏辺金好による解説から入って最後に松戸副所長に交代します。いやあ、難しかった・・・・。

2.バーコードの定義

 面倒ですが、まずはバーコードの定義から。
 バーコードとは、正式には「バーコードシンボル」という白と黒の縦の棒をくみあわせた縞(しま)模様をつかって、データを表現する符号のこと。流通や商品管理に必要なPOS用のコードを表すため、ここには国名、業種、商品名、価格などの情報がふくまれています。

 ・・・POS?
 これは、POSシステム=ポスシステム=Point of Sales System(販売時点情報管理システム)の略称です。
 スーパーやコンビニなどの店頭での販売動向を、単品ごとにオンラインで把握することによって、在庫管理から物流、販売促進までを総合的に管理するシステムのことです。元々は、消費者によるチェックアウト時の不正の防止を目的に開発されました。レジでバーコードをスキャナー(バーコードリーダー)でピット読み取るのは、このPOSシステムの第一段階です。

 こいつの詳しい仕組みは、いつか機会があれば・・・。

 で、バーコードは1973年、アメリカで UPCコードが最初につくられました。これを元にしてヨーロッパでEAN(Europian Article Number)コードが登場し、基本的にアメリカ以外の多くの国で使われています。この日本版がJANコードという物です。1978年にJIS規格になりました。現在、90%以上の商品に使われています。書籍で使われているコード、雑誌で使われているコード、カラオケで曲を選ぶときのコードは違います。こいつらは次回に解説。


3.では、バーコードの解説(JANコード編)

 取り敢えず、普段よく見かけるこの13桁のコード(JANコード)を解説します。
 最初の2桁(国コード)・・これで言えば49。これは、「日本」であることを示しています。他にも45も日本です。

 ちなみに韓国だと880、イギリスだと50、ドイツは40〜44、フランスは30〜37、中国は690〜691などなど・・・。

 次に、02425(商品メーカーコード)・・この5桁は、どこのメーカーが造っているかを区別しています。この場合、バンダイの商品です。なお、メーカーが次々登場しているので、7桁になる物も登場しています。

 その次に、61364(商品アイテムコード)・・・これは、商品名を表します。この場合、プラモデル・マスターグレード・100分の1ガンダムMkUとなります。
 
 最後の2(モジュラチェックキャラクタ)は、バーコードに読み取りチェックしてもらうための数字。
 それまでの12桁の数字から、計算によって求められた値をここに表示しておき、読み取り時に正しく読み込めたかどうか、チェックします。
 計算式は、こうなります。
 1.12桁の右端の桁から、奇数桁の各数字を合計して3倍する。
   (4+3+6+2+2+9)X3=78

 2.12桁の右端の桁から、偶数桁の各数字を合計する。
   6+1+5+4+0+4=20

 3.奇数桁と偶数桁の結果を合計する。
  78+20=98

 4.98の1の位を、10から引く
  10ー8=

  この、2がチェックキャラクタとなります。


 これが存在することで、バーコードで現物と違う商品を認識し間違えないように、最終チェックをするのです。
 つまり、Aと言う商品の12桁を、間違ってBとコンピューターが認識してしまっても、最後のチェックキャラクタ、これがBの物とは違うぞ・・・ああ、そうか認識ミスだ!とこうなってくれるんですね。

 なおこのJANコード。短縮版として8桁の物もありますが、これは商品メーカーコードが4桁、商品アイテムコードが1桁に短縮されています。何故こう言うのがあるかと言いますと、13桁のバーコードを印刷できない、小さな商品のためです。

 なお、別にここに書いてある数字をバーコードスキャナーが読み取るわけではありませんよ。
 あくまで主役は黒白シマシマのバーコード。下に書かれた数字を、バーコードが表していて、それをスキャナーで読み込むのであります。

 その表し方は? ・・・・・実を言うと私には解らなかった。
 そこで、阪神タイガース優勝に大喜びの松戸副所長に解説してもらいます。

 まず、4  と  9 0 2 4 2 5  センターバー   6 1 3 6 4 2 とわけます。
 で、 6 1 3 6 4 2 という右側の6つの数字は、それぞれ右側のパリティであらわします。パリティについては下にあります。

 同様に、 9 0 2 4 2 5 は左側のパリティを使うのですが、このとき一桁目が4なので101100=奇偶奇奇偶偶 というふうに奇数パリティと偶数パリティを使い分けます。日本は1桁目が必ず4なので、かならずこの組み合わせになります。また、センターバーは3本のスペース(白)と2本のバー(黒)で表します。

 つまり12個の数字しか表さないけど、最初の4と言う数字は左側の6つの数字の組み合わせによってわかるわけです。
 最初の「4」が、一番左の2本の線で表されているわけではないんですよ(アレははじまりを表しているだけです 終わりも同様)。
 902425を奇偶奇奇偶偶で使い分けて表すことによって、4であることが解るのです。

 念のため・・・・
 ・スタートバー バーコードの左端にはスタート地点を表示するバーコードシンボルを表示します。
 ・ストップバー バーコードの右端にストップ地点を表示するバーコードシンボルを表示します。
 
 で、先ほどから登場しているパリティは、こうなります。
(所長注1:左側は、奇偶奇奇偶偶に従って解読していきましょう)
(所長注2:下に3211とか、2221とかありますけど、それは、それぞれ1つの数字を7ブロックにわけた際に、
        白い部分と黒い部分が、それぞれ持っているブロック数と考えてください.。なお、ちと横広になっております・・)

数字 左側 右側 一桁目の数字を表現するパターン
奇数
パリティ
偶数
パリティ
      数字 1:奇数 0:偶数
0 3211




1123




3211




0 111111
1 2221




1222




2221




1 110100
2 2122




2212




2122




2 110010
3 1411




1141




1411




3 110001
4 1132




2311




1132




4 101100
5 1231




1321




1231




5 100110
6 1114




4111




1114




6 100011
7 1312




2131




1312




7 101010
8 1213




3121




1213




8 101001
9 3112




2113




3112




9 100101

棒