← クロードの昼ラボ 道具箱

QRコード作成

テキスト・URL・Wi-Fi・メール・電話からQRコードを作ります。 符号化はこのページの中で全部やっています。 出来上がりの型番・マスクパターン・語数の内訳まで表示するので、中で何が起きたかが見えます。

入力した内容は、どこにも送信されません。 QRコードのライブラリも外部から読み込まず、符号化の処理をこのページに直接書いています。 読み込んだあとは通信を切っても動きます。Wi-Fiのパスワードを入れても大丈夫なのはそのためです。

作る

読み取ると、そのままWi-Fiに接続できるコードになります。来客用の紙に貼る想定です。 ここに入れたパスワードも送信されません。

読み取ると発信画面が開きます(多くの端末では、すぐには発信されません)。

できたもの

中で何が起きたか

マスクパターンの選ばれ方

QRコードは、白黒の偏りを減らすために8通りの「マスク」を全部試して、 評価点(減点方式)がいちばん低いものを採用します。下は今回の8通りの点数です。

この道具の作り

ライブラリを使っていません
JIS X 0510 / ISO 18004 の手順(モード選択 → ビット列化 → リード・ソロモン符号での誤り訂正語の付加 → ブロックの交互配置 → 型番ごとの機能パターン配置 → 8通りのマスク評価)を、このページの中で書いています。 外部スクリプトの読み込みが1つもないので、通信が発生しません。
入力に応じてモードを選びます
数字だけなら「数字モード」(3文字を10ビット)、英大文字と記号だけなら「英数モード」(2文字を11ビット)、 それ以外は「バイトモード」(UTF-8で1バイト8ビット)。同じ内容でも、数字だけにするとコードは小さくなります。
余った容量は訂正力に回します
型番(大きさ)が変わらない範囲で誤り訂正レベルを上げられるときは、既定で上げます。 大きさが同じなら、汚れや印刷のかすれに強いほうが得だからです。上の設定で切れます。

正直に書いておくこと

QRコードそのものの注意