ニュース
» 2019年06月25日 07時45分 公開

機械なぞ要らぬっ! 肉眼のみで解読するバーコード入門

読める……読めるぞ……?

[QuizKnock,ねとらぼ]

 以前、「肉眼のみで解読するQRコード講座」という記事を書いたことがあり、大きな反響をいただいた。

 QRコードは正方形の領域にデータを詰め込んだ2次元コードであり、横一列に白黒のパターンを並べたバーコードよりも多くの情報を表せる。

 つまり、バーコードはQRコードよりも簡単に読めるはずであり、QRコードが肉眼で読めるんだから(?)バーコードを読むなんてどうってことないはずだ。

 肉眼で読んでやろうじゃないか、バーコードを!


基本用語「ガードパターン」「モジュール」

 実はバーコードにもいろいろな種類があるが、ここでは最も一般的な、商品の識別に用いられている「JANコード」を読んでみることにする。

 多くの場合、商品には13桁の数字がJANコードで表示されている(場合によっては8桁の短縮コードが用いられていることもある)。


ガードパターン

 バーコードを眺めてみると、左右と中央の3箇所に他よりも線が長くなっている部分があることが分かる。これを「ガードパターン」という。中央のガードパターンを境として、左側で6桁、右側でも6桁の数字を表す。



モジュール

 バーコードは線の幅が重要であり、最も細い幅(これを1モジュールと呼ぶ)を基準として7モジュールで1つの数字を表す。つまり、ガードパターンとガードパターンの間には7×6=42モジュール分の線が描かれていることになる。

 バーコードを左から7モジュールずつ区切っていくと、必ず黒い線と白い線がそれぞれ2本ずつ含まれていることが分かるはずだ。白黒白黒の4つの領域の幅を読み取って、対応表から数字を復元していくことになる。



浮いたアイツにも意味がある

 ここで対応表を……といきたいところだが、ここまでの説明で矛盾する点がある。JANコードは13桁の数字なのに、6桁+6桁だと12桁しかないじゃん!


一番左の数字は特別

 今まで生きてきて気になっていた人も多いんじゃないだろうか、数字の一番左にいるちょっと浮いた数字。実はこの13桁の先頭1桁は、他の12桁とは少し違った表し方をされているのだ。



 左半分を7モジュールずつ区切った6ブロックについて、それぞれの黒の幅を足し合わせ、合計が奇数か偶数かを判定する。例えば、白黒白黒の線の並びのブロックで、それぞれの幅が3, 2, 1, 1であれば、黒の幅は2と1なので、和の3は奇数。

 そして、黒が奇数モジュール分あるところをA、偶数モジュール分あるところをBとすれば、ABAABBのようにAとBの並びができる。この並びを読み取って、以下の対応表から先頭の1桁を決めるのだ。


A=奇数、B=偶数

 ちなみに、JANコードの最初の2桁は国コードで、日本ならば45か49と決まっている。つまり日本国内で買った商品のバーコードであれば、ほとんど4:ABAABBのパターンで並んでいると思って間違いない。


対応表さえあれば簡単に数字が分かる!

 さて、話を元に戻して、各ブロックを数字に変換するための表を示す。左半分と右半分、さらに左半分は黒のモジュール数の偶奇でパターンが変化するので、数字に対して3通りの表し方が存在する。


左半分にあって、2(黒),2(白),1(黒), 2(白)であれば、黒のモジュールは合計4なので、このブロックは表の真ん中を見ることになり、対応する数字は「2」

 白と黒の幅を読み取って、その並びを表に対応させるだけで、バーコードの中身が読み取れる。簡単!


答え合わせ

 ただし、残念ながらバーコードからデータを読み取るメリットはQRコードに比べて少ない。なぜなら普通はコードの下に数字が書いてあるから……。つまり答え合わせは、その数字を見ればできるのだ。良いんだ、肉眼解読はロマンなのだ……。

うん、数字書いてあるね……

制作協力

QuizKnock


Copyright © ITmedia, Inc. All Rights Reserved.

昨日の総合アクセスTOP10

  1. /nl/articles/2208/13/news017.jpg 庭での穴掘りが見つかった柴犬→「やべっ」 考えた末にとった行動に「掘るんかいw」「元気で何より」の声
  2. /nl/articles/2208/13/news055.jpg 佐藤仁美、ド派手なファッションセンスにマネジャーも驚き 「電車じゃ誰も隣に座ってくれない」
  3. /nl/articles/2208/13/news056.jpg ムスカ「すばらしい!」 スタジオジブリ、セリフ付きのキャラ画像を投稿 「常識の範囲内で、自由に使ってください」
  4. /nl/articles/2208/13/news053.jpg 「天空の城ラピュタ」のドーラ、“若いころはシータにそっくり”は本当だった! 金ロー解説ツイートに「気付かなかった」「初めて知った」
  5. /nl/articles/2208/12/news114.jpg 高嶋ちさ子、ダウン症の姉“みっちゃん”&暴走しまくり父親とパワフル家族旅行 「いつも仲良し」「愛情いっぱいの家族」
  6. /nl/articles/2208/12/news156.jpg 『呪術廻戦』渋谷駅前ジャックの高画質動画を公式が公開 「鳥肌やべぇ」「格好良すぎ」とファン大興奮
  7. /nl/articles/2208/13/news021.jpg 飼い主を亡くしたシニア大型犬を家族に迎え…… 先住犬とのドキドキの初対面に「少しずつ仲良くなれますように」
  8. /nl/articles/2208/12/news142.jpg 片側を伸ばしたゼムクリップの使い道とは? 情シスならわかる“あるある”に「お世話になりました」「私の机にもある」
  9. /nl/articles/2208/13/news075.jpg ステージ3の秋野暢子、抗がん剤治療2クール目終了を報告 「ちょっと辛い時間もあった」
  10. /nl/articles/2208/12/news019.jpg 爪切りが苦手なでっかいワンコと飼い主の攻防戦 優しい拒否のしぐさが子どもみたいでかわいい

先週の総合アクセスTOP10

  1. 競技中とのギャップ! 高梨沙羅、キャミソール私服でみせた大胆“美背中”に反響 「背中ガッポリ」「魅惑の黒トップス」
  2. かわいい妹すぎ! 北川景子、義姉・影木栄貴の結婚で“お姉ちゃん愛”が爆発する 「姉がどこか遠くへ行ってしまう」
  3. 泣いていた赤ちゃんが笑い声に、様子を見に行くと柴犬が…… 優しくあやす姿に「最高の育児パートナー」の声
  4. 「ごめん母さん。塩20キロ届く」LINEで謝罪 → お母さんからの返信が「最高」「まじで好きw」と話題に
  5. 「若い君にはこの絵の作者の考えなんて分からない」→「それ俺の絵」 ギャラリーで知らないおじさんから謎の説教を受けた作者に話を聞いた
  6. 木下優樹菜、元夫・フジモン&娘たちとディズニーシーを満喫 長女の10歳バースデーを祝福
  7. 黒柴の子犬が成長したら…… 頭だけ赤色に変化した驚きのビフォーアフターに「こんなことあるんですね」「レアでかわいい」の声
  8. 子「ごめん、もう仕事できない」→母「はぁい了解っっ」 退職を明るく認めた家族のLINEが優しい
  9. スタバの新作が王蟲っぽくてファンザワつく 「怖すぎる」「キショいから買いたくなった」
  10. カナダ留学中の光浦靖子、おしゃれヘアのソロショットに反響 「お元気そうでなにより」「別人のよう」

先月の総合アクセスTOP10

  1. 安倍元首相、銃で撃たれて意識不明か 事件時のものとみられる映像投稿される
  2. 野口五郎、20歳迎えた娘と誕生日デート 家族同然の西城秀樹さん長女も加わり「楽しい時間でした!」
  3. 「大阪王将」店舗にナメクジやゴキブリが発生? 元従業員の“告発”が衝撃与える 大阪王将「事実関係を調査中」
  4. この画像の中に「さかな」が隠れています 猫に見つからないように必死! 分かるとスッキリする隠し絵クイズに挑戦しよう 【お昼寝編】
  5. ダルビッシュ有&聖子、ドレスアップした夫婦ショットに反響 「ハリウッド俳優やん」「輝いてます」
  6. 「auの信頼度爆上がり」通信障害でも社長の“有能さ”に驚く声多数 一方で「まだ圏外だぞ…」など報告続く
  7. スシロー、“ビール半額”で今度は「ジョッキが小さい」との報告? 運営元「内容量に差異はない」と否定
  8. スシロー「何杯飲んでもビール半額」開始前にPOP掲示 → 注文したら全額請求 投稿者「態度に納得いかなかった」 運営元が謝罪
  9. TKO木下、海外旅行先で総額270万円のスリ被害に エルメスの財布奪われた“瞬間映像”も公開「くっそ〜……」
  10. パパが好きすぎて、畑仕事中も離れない元保護子猫 お外にドキドキしながら背中に乗って応援する姿があいらしい