バーコードの仕組み

Pocket

商品に付けられているバーコードで最もポピュラーなものをEANコード(JANコード)と言います。
縞模様で13桁(1桁+6桁+6桁)の数列を表現しています。
これの作り方を調べました。

全体の構成

同じ幅の113列をそれぞれ白か黒で塗って縞模様を作ります。
左端の余白が11列あります。
左のガードバーが「黒白黒」で3列あります。
13桁の数値のうち2桁目から7桁目までの6桁を、変換ルールに従い、それぞれ7列で表わします。都合42列になります。
中央のセンターバーが「白黒白黒白」で5列あります。
8桁目から13桁目までの6桁を、それぞれ7列で表わします。都合42列になります。
右のガードバーが「黒白黒」で3列あります。
右端の余白が7列あります。
合計すると113列になります。

変換ルール

上の説明では、1桁目の数値が出てきません、変換ルールの中に「このパターンならば4であることが分かる」というような仕組みが隠されています。
この変換ルールについては「バーコード入門編 第6章 技術解説 マルチレベル系バーコード(JAN) BARCODE HAND BOOK~テクニカル~」(リンク切れ)に詳しく書かれています。
数値を縞模様に変換するルールは次の通りです。二つの表を使います。

数値(1桁目) パターン
0 奇奇奇奇奇奇
1 奇奇偶奇偶偶
2 奇奇偶偶奇偶
3 奇奇偶偶偶奇
4 奇偶奇奇偶偶
5 奇偶偶奇奇偶
6 奇偶偶偶奇奇
7 奇偶奇偶奇偶
8 奇偶奇偶偶奇
9 奇偶偶奇偶奇
数値 左半分(奇) 左半分(偶) 右半分
0 白白白黒黒白黒 白黒白白黒黒黒 黒黒黒白白黒白
1 白白黒黒白白黒 白黒黒白白黒黒 黒黒白白黒黒白
2 白白黒白白黒黒 白白黒黒白黒黒 黒黒白黒黒白白
3 白黒黒黒黒白黒 白黒白白白白黒 黒白白白白黒白
4 白黒白白白黒黒 白白黒黒黒白黒 黒白黒黒黒白白
5 白黒黒白白白黒 白黒黒黒白白黒 黒白白黒黒黒白
6 白黒白黒黒黒黒 白白白白黒白黒 黒白黒白白白白
7 白黒黒黒白黒黒 白白黒白白白黒 黒白白白黒白白
8 白黒黒白黒黒黒 白白白黒白白黒 黒白白黒白白白
9 白白白黒白黒黒 白白黒白黒黒黒 黒黒黒白黒白白

「4 971633 002647」を例に挙げて説明します。
「971633」が「左半分」、「002647」が右半分になります。

1桁目
「4」なので、パターンは「奇偶奇奇偶偶」となります。
※日本に割り当てられているのは「45」または「49」なので、ほとんどの場合、このパターンになります。

2桁目
左半分の1番目と見て、パターン「奇偶奇奇偶偶」の1番目の「奇」となります。
「左半分(奇)」を見て、2桁目の数値は「9」なので「白白白黒白黒黒」となります。

3桁目
左半分の2番目と見て、パターン「奇偶奇奇偶偶」の2番目の「偶」となります。
「左半分(偶)」を見て、2桁目の数値は「7」なので「白白白黒白黒黒」となります。
以下、4桁目から7桁目まで同様です。

8桁目
ここから右半分です。奇遇の区別はありません。
「右半分」を見て、8桁目の数値は「0」なので「黒黒黒白白黒白」となります。
以下、9桁目から13桁目まで同様です。

エラーチェック

機械で縞模様をスキャンして13桁の数列に変換しますが、上のパターンに合致しない場合は、エラーになります。
また数列の最後の桁はチェックデジットになっていて、これが合致しない場合もエラーになります。
チェックデジットというのは、12桁をある規則により1桁の数に変換する方法で、EANコードの場合、「モジュラス10のウェイト3」という手法を使っているそうです。

[ 2012年2月27日 | カテゴリー: 豆知識 | タグ: , ]

« | »

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報