注意
・このツールは、[動画]QRコードを 人力() で読み取る方法(11分)のために作ったツールです。そのため、まずこの動画を見ないとわからないかも?
・QRコードを人力で読むには地道で面倒な作業が多いため、一部の作業を自動化しておきました。(補助のようなもの)
・元々自分用で調査する用に作ったものを流用したものですので、操作がわかりにくい部分があります。
・誤り訂正の部分については、実装できていません。(いずれ実装するかも予定です)
ブラウザについては、Chrome, Edge, Firefoxの動作確認をしております。もし正常に動かないようであれば、さっきのいずれかのブラウザにてお試しください。
重要:QRコードをこのツールで解読した際、結果については保証できません。(大きいQRコードだとなぜか高確率で誤った結果が出ちゃうので!!)
このツールを開発するのに使用したプログラムのライセンス文はここから
QRコードは(株)デンソーウェーブの登録商標です。
誤り訂正レベル、マスク
1,2マス目に誤り訂正、3~5マス目にマスクパターンが入ってます。
最後の復号化
これが最後の段階です。モードごとに4種類の復号方法があるので、「モード」にあった適切な方法で復号化します。
※適切な方法ではないモードを選んでも、やばいことが起きるとか、そんなことはありません。
もし切り替えに困った場合、「モードを選択」に戻してから選んでください。
数字モード篇
まず、「データと残り」の数字の羅列を10桁ごとに区切ります。10桁の01データが、平文の10進数の3桁分に対応します。
↑「データと残り」の「残り」の部分(埋め草、誤り訂正)は不要なので省略。
次は、区切った10桁の2進数をそれぞれ10進数に変換します。
最後にくっつけてできあがり。
参考サイト:
独極(数字モード篇)
英数字モード篇
まず、「データと残り」の数字の羅列を11桁ごとに区切ります。11桁の01データが、平文の2文字分に対応します。
↑「データと残り」の「残り」の部分(埋め草、誤り訂正)は不要なので省略。
次は、区切った11桁の2進数をそれぞれ10進数に変換します。
それぞれの数字を2つの数字に分けます。具体的には、45で割った商と、余りです。
最後に、変換表を使って元に戻すとできあがり。
参考サイト:
独極(英数字モード篇)
8bitモード篇
8桁(1Byte)ごとに改行しましたので、あとはこれをUTF-8やShift_JISなどでエンコードします。
この2進数は(自動判別)
この文字コードで変換すればできあがり。
参考サイト:
独極(8bitモード篇)
漢字モード篇
まず、「データと残り」の数字の羅列を13桁ごとに区切ります。13桁の01データが、平文の1文字分に対応します。
↑「データと残り」の「残り」の部分(埋め草、誤り訂正)は不要なので省略。
説明を分かりやすくするため、区切った13桁の2進数をそれぞれ10進数に変換します。
それぞれの数字を192で割り、商と、余りを出します。
先ほどの商に256を掛けて、余りを足し算します。この値を使います。
その数が7688以下なら33088を、7936以上なら49472を足します。
(ここで7689以上7935以下の数字が出ることはありません。出たら、QRコードが間違っているということになります。)
最後にこの数字列をShift_JISでエンコードするとできあがり。(動画ではツールを使うために16進数にしてます)
※この数字は1つで2バイトを表しています。
参考サイト:
独極(漢字モード篇)
※うまく読み取れていない場合は、
・QRコードに誤りがある(誤り訂正をしていないため、特にQRコードの右側が1マスでも間違えてると、正しく読めない。)
・文字化け (文字コード)
・[可能性超低]
SQRCというものが使われている。
・未知のバグ
が考えられます。
QRコードについての情報は主に