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

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

» 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/2404/25/news174.jpg 身長174センチの女性アイドルに「ここは女性専用車両です!!!」 電車内で突如怒られ「声か、、、」と嘆き 「理不尽すぎる」と反響の声
  2. /nl/articles/2404/26/news154.jpg 元「AKB48」メンバー、整形に250万円の近影に驚きの声「整形しすぎてて原型なくなっててびびった」
  3. /nl/articles/2404/21/news011.jpg 小1娘、ペンギンの卵を楽しみに育ててみたら…… 期待を裏切る生き物の爆誕に「声出して笑ってしまったw」「反応がめちゃくちゃ可愛い」
  4. /nl/articles/2404/12/news174.jpg 築年数不明の平屋にある、ボロボロ床板をはがしてみたら…… 発覚したヤバい事実に「ビックリ!」「大丈夫でしたか?」心配と驚きの声
  5. /nl/articles/2404/26/news022.jpg ママの足にくっつく生後7カ月の赤ちゃん、甘えてるのかと思いきや…… 計算された行動と「ちいこい後ろ姿がかわいすぎ」て目が離せない
  6. /nl/articles/2404/25/news016.jpg 「電車の中で見ちゃダメ」「笑ったww」 実家からLINE「子ヤギがすばしっこくて捕まらない」→送られてきた衝撃姿が320万表示!
  7. /nl/articles/2404/25/news069.jpg “作画軽減ガンダム”をガンプラで作成 → 使用パーツも最小限の再現ぶりに「完全に一致」「部品軽減ガンダム」
  8. /nl/articles/2404/23/news090.jpg 誰も教えてくれなかった“裁縫の裏ワザ”が目からウロコ 200万再生のライフハックに「画期的」と称賛【海外】
  9. /nl/articles/2404/18/news134.jpg 21歳の無名アイドル、ビジュアル拡散で「あの頃の橋本環奈すぎる」とSNS騒然 「実物の方が可愛い」「見つかっちゃったなー」の声も
  10. /nl/articles/2404/26/news024.jpg 0歳赤ちゃん「(ママ来たっ!)」→喜びが抑えきれなくて…… 尊すぎるダンスが300万再生「心が浄化されていく」「朝から癒やされました」
先週の総合アクセスTOP10
  1. 小1娘、ペンギンの卵を楽しみに育ててみたら…… 期待を裏切る生き物の爆誕に「声出して笑ってしまったw」「反応がめちゃくちゃ可愛い」
  2. 富山県警のX投稿に登場の女性白バイ隊員に過去一注目集まる「可愛い過ぎて、取締り情報が入ってこない」
  3. 2カ月赤ちゃん、おばあちゃんに少々強引な寝かしつけをされると…… コントのようなオチに「爆笑!」「可愛すぎて無事昇天」
  4. 異世界転生したローソン出現 ラスボスに挑む前のショップみたいで「合成かと思った」「日本にあるんだ」
  5. 【今日の計算】「8+9÷3−5」を計算せよ
  6. 21歳の無名アイドル、ビジュアル拡散で「あの頃の橋本環奈すぎる」とSNS騒然 「実物の方が可愛い」「見つかっちゃったなー」の声も
  7. 1歳赤ちゃん、寝る時間に現れないと思ったら…… 思わぬお仲間連れとご紹介が「めっちゃくちゃ可愛い」と220万再生
  8. 業務スーパーで買ったアサリに豆乳を与えて育てたら…… 数日後の摩訶不思議な変化に「面白い」「ちゃんと豆乳を食べてた?」
  9. 祖母から継いだ築80年の古家で「謎の箱」を発見→開けてみると…… 驚きの中身に「うわー!スゴッ」「かなり高価だと思いますよ!」
  10. 「ゆるキャン△」のイメージビジュアルそのまま? 工事の看板イラストが登場キャラにしか見えない 工事担当者「狙いました」
先月の総合アクセスTOP10
  1. フワちゃん、弟の結婚式で卑劣な行為に「席次見て名前覚えたからな」 めでたい場でのひんしゅく行為に「プライベート守ろうよ!」の声
  2. 親が「絶対たぬき」「賭けてもいい」と言い張る動物を、保護して育ててみた結果…… 驚愕の正体が230万表示「こんなん噴くわ!」
  3. 水道検針員から直筆の手紙、驚き確認すると…… メーターボックスで起きた珍事が300万再生「これはびっくり」「生命の逞しさ」
  4. フワちゃん、収録中に見えてはいけない“部位”が映る まさかの露出に「拡大しちゃったじゃん」「またか」の声
  5. スーパーで売れ残っていた半額のカニを水槽に入れてみたら…… 220万再生された涙の結末に「切なくなった」「凄く感動」
  6. 桐朋高等学校、78期卒業生の答辞に賛辞やまず 「只者ではない」「感動のあまり泣いて10回読み直した」
  7. 「これは悲劇」 ヤマザキ“春のパンまつり”シールを集めていたはずなのに…… 途中で気づいたまさかの現実
  8. 「ふざけんな」 宿泊施設に「キャンセル料金を払わなくする方法」が物議 宿泊施設「大目に見てきたが厳格化する」
  9. がん闘病中の見栄晴、20回以上の放射線治療を受け変化が…… 「痛がゆくなって来ました」
  10. 食べ終わったパイナップルの葉を土に植えたら…… 3年半後、目を疑う結果に「もう、ただただ感動です」「ちょっと泣きそう」