仕組みが分かれば、スマホなどいらぬ……ッ! 肉眼のみで解読するQRコード講座
必要なのは目という名のカメラ。それから、気合いと根性。
撮影することでURLなどを読み取れる正方形の模様、QRコード。スマホなどから利用するのが一般的ですが、どうしてもスマホが取り出せないときは、どうやって読み取ればいいのでしょうか。
ご存じの通り、人間にも目というカメラがあります。実は文明の利器なんて使わなくても、人力で解読できるのです。それでは、QRコードリーダーをあなたの脳にもインストールしてみましょう。
QRコードの基本構造を知ろう!
内容を読み取る前に、そのための準備作業から始めましょう。
まず着目してもらいたいのが、QRコードの隅などにある四角形の模様です。これはカメラで読み取ったときの角度の違いを補正するためのもの。これ自体は読む必要がありませんが、周辺に重要なフォーマット情報として「誤り訂正レベル」「コード全体に施されたマスク」が書かれています。
誤り訂正レベルというのは、コードの読み取りミスを訂正する能力のことで、4段階に設定可能。レベルが高いほど読み取りの精度が悪くても(例えばQRコードの大部分が見えなくても)正しく読み取りが行えますが、その分データ量(追加する誤り訂正符号の数)が増え、コードが大きくなります。
マスクというのは、QRコードの黒と白をバランス良く配置するための加工のことで、8種類存在します。やたらと黒(もしくは白)が多いQRコードを見掛けないのは、このマスクのおかげです。
今回使用するQRコードのフォーマット情報は15マスにわたって書かれています(2カ所ありますが、どちらも内容は同じ)。黒いマスを1、白いマスを0とすると「111110110101010」になります。
ここには「101010000010010」というマスクが掛かっています。対応するマスクの数字が「1」のときは「0」に、「0」のときは「1」に反転させると、正しい情報が読み取れます。
- 111110110101010(書かれているフォーマット情報)
- 101010000010010(マスク)
- 010100110111000(マスクを掛ける前の、元の情報)
人間にはちょっと大変な作業かもしれませんが、実は誤り訂正レベルは最初の2マス、コード全体に施されたマスクの種類は次の3マスで表されており、以降の10マスは、読み取りが間違っていないか調べるための「誤り訂正符号」が書かれているだけ。今回は、読まなくて大丈夫です。
対応表を参照すると、このQRコードの誤り訂正レベル「01」は「L(約7%の誤りまで訂正可能)」、マスクの種類「010」は「j mod 3 = 0」を指すことが分かります。
さて、「j mod 3 = 0」という式は何でしょうか……。何やら難解ですが、この「j」は一番左の列を0としたときの列の番号を表し、「mod 3」は3で割った余りを表しています。そこで、このマスクの意味は「3で割ると0になる列番号のとき(18や21、24など)、マスの数字を反転させる」ということになります。
QRコード解読は、気合いだ!
いよいよ実際に内容を読む段階に入ります。
QRコードは右下から、しかもジグザグに書かれています。例えば、1マス目は一番右下にありますが、2マス目はその左隣。そして、3マス目は1マス目の上にあります。このため、目の動きは左、右斜め上、左、右斜め上……という感じ。普通の文章を読むときとは、かなり違いますね。
1〜4マス目には、読み取った数字を文字などに変換するためのルールが書かれています。今回は「0100」で、「8ビットバイトモード」という形式で記録されていることが分かります。
8ビットモードでサイズが25マス×25マスの場合(今回のQRコードが該当)、次の8マスには記録されている文字数が記載。そこから先が実際のデータ内容で、8マスずつ区切って読み取った2進数を、対応表を使いながら文字に置き換えていきます。
実際に右下から読んでいくと次のようになります。
- 0100=データモード(8ビットバイト)
- 00011100=文字数(28文字)
- 01101000(68/2進数→16進数に変換したもの)=h
- 01110100(74)=t
- 01110100(74)=t
- 01110000(70)=p
- 01110011(73)=s
- 00111010(3A)=:
- 00101111(2F)=/
- 00101111(2F)=/
……「https://」と、それっぽい文字列が見えてきましたね。
このQRコードは28文字。こんな感じで数字を読んでは表とにらめっこして、対応する文字を見つける作業を28回繰り返すと読解完了です。ちなみに、図面の左半分は読まないまま終わってしまいますが、これは読み取りミスを確認するためのデータが配置されているためです。
さて、QRコードを人力で読む方法を解説してきましたが、難点をあえて1つだけ挙げるなら、これだと思います。
「とにかく面倒くさい」。
白黒の模様を2進数として読み取る作業自体はかなり単純なものですが、量が量なので簡単ではありません。しかも、その数字を文字などに変換するための対応表を丸暗記する苦労なんて、想像すらできません。こんな大変なことを一瞬でやってくれるスマホって、やっぱり便利ですよねえ……。
ただ、暗号を解読するような面白さもあるので、パズルなどが好きな人は楽しめるかもしれません。レッツ・チャレンジ!
参考文献
JIS X 0510_2004 二次元コードシンボル - QRコード - 基本仕様
特集:あなたも描ける! JIS X0510準拠 QRコード超入門 - OSSHC 岡崎高校スーパーサイエンス部
関連記事
「16×4は?」「68−4だから64」 小学1年生の掛け算の計算方法が斬新だと話題に
発想が見事。「カニミソ」はカニの何なのか?
カニミソって何だ? 脳ミソか? 僕は何を食べようとしているのだ?漢字の「一」「二」「三」の次がいきなり「四」になるのはなぜなのか?
なんで横棒4本じゃないの?【マンガ】リュックについている「ブタの鼻」の正体は?
「ブタ鼻」でいいよ、もう。1ヶ月の「ヶ」は小さな「ケ」ではなかった?
まぎらわしい。
Copyright © ITmedia, Inc. All Rights Reserved.
昨日の総合アクセスTOP10
師匠「殺すつもりで来い」→ 師匠オオォォオオーーッッ! 漫画でよく見る“修行あるある”で起こった悲劇に涙が止まらない
JTBの新バーチャルサービスが初代PSレベルで視聴者騒然 「ファイナルソードの続編?」「核戦争後の東京」
“ほぼ新車”の「R32 GT-R」が発掘 お値段もヤバすぎる奇跡の1台
文鳥が鏡に「ふーっ」と息を吹きかけると…… 文鳥の吐息でできた“世界一かわいいくもり”がいとおしい
マリエの出川哲朗ら巡る告発にマセキ「お騒がせしているような事実はない」 芸能界の枕営業疑惑にひろゆき、武井壮らが独自見解
「釜の中の3合の線って米用じゃなくて水用だったんすね…」 炊飯器の使い方を知らなかった一人暮らし初心者が話題に
若手女優の登竜門「ポカリスエット」新CMに15歳の中島セナ CGなしの超大型“動く”セット爆走で綾瀬はるか、川口春奈に続く
どの「R」か、わかる? 歴代GT-Rの「テールランプ」を再現した豆皿セット登場、丸も四角もあるよ
「銃口からチャーハンが飛び出す」 コロプラ「アリスギア」でゲーム史に残りそうなシュールバグ発生中
「読めないくらい最悪」 柏木由紀、グラビア動画へのセクハラコメントに怒り「人に言えないことは書かないで」
先週の総合アクセスTOP10
- AKB48・大家志津香、人生MAXの65キロに危機感 周囲に迷惑が及ぶ激太りぶりで減量決意「やらなくていい仕事をさせちゃってる」
- 初コメダで「量すごいらしいからエビカツパンとビーフシチュー」 → 案の定大変なことになってしまった漫画が様式美
- 仲里依紗、息子がスカウトされて大騒ぎ「芸能人なんですけどもね?」 夫・中尾明慶と一緒にスルーされてしまう
- 「遺伝ってすごい」「足長っ!」 仲村トオルの“美人娘”ミオがデビュー、両親譲りのスタイルに驚きの声
- 山に捨てられていたワンコを保護→2年後…… “すっかり懐いたイッヌ”の表情に「爆笑した」「かっこよすぎ」の声
- 「文鳥砲だ!」「躍動感すご」 文鳥が“来るッ…!”決定的瞬間を収めた写真に緊張感が漂っている
- 昔から何度も見る悪夢です→「私も見る!」「同じ人がいた」と共感集まる “あるある”かもしれない奇妙な夢の漫画
- 「もういいだろう、楽にさせてくれよ」 アントニオ猪木、入院治療中の弱音に叱咤激励の嵐
- コクヨが正確な1mmを測れる「本当の定規」全国発売 メモリの境界を“面と面の間”で計測
- 高木ゑみさん、35歳で逝去 ステージ4の肺がんで闘病 生前最後の“人工呼吸器も外せた”報告に悲しみの声
先月の総合アクセスTOP10
- アントニオ猪木、“リハビリ中”の現在の姿を公開 激励相次ぐ「猪木さんは不死身の漢や!」「負ける訳ないやないか」
- 「遺伝ってすごい」「足長っ!」 仲村トオルの“美人娘”ミオがデビュー、両親譲りのスタイルに驚きの声
- 眠くなった子猫が、飼い主のお布団にやってきて…… 胸キュンな行動に「まじ天使」「とけてしまう」の声
- キンタロー。1歳娘が預け先で頭部にケガ 「ショックで立ち直れない」「なんで手を離したの」と取り乱す
- 保護した子ネコに「寂しくないように」とあげたヌイグルミ お留守番後に見せた子ネコの姿に涙が出る
- 冨永愛、目元そっくりな15歳長男の写真公開 母を上回る長身に「もうかなり背は伸びたのに……」
- 「もういいだろう、楽にさせてくれよ」 アントニオ猪木、入院治療中の弱音に叱咤激励の嵐
- 山に捨てられていたワンコを保護→2年後…… “すっかり懐いたイッヌ”の表情に「爆笑した」「かっこよすぎ」の声
- 仲里依紗、息子がスカウトされて大騒ぎ「芸能人なんですけどもね?」 夫・中尾明慶と一緒にスルーされてしまう
- 「訃報」「愛猫」「手風琴」って読める? 常用漢字表に掲載されている“難読漢字”