はじめに 「QRコードを手計算&手書きで書けたらかっこいいのでは?」と思い立ち、QRコードの仕組みを勉強しました。 しかしその仕組みは想定の1億倍難しく、到底手計算できるものではありませんでした。 ではせめて…ということで、ライブラリに頼りがちなQRコード生成を1から自分でやってみることにしました。 前提 C#のコンソールで入出力を行います。 QR バージョン1、エラー訂正レベルはH、英数字モード、マスクパターンは011で固定とします。 バージョン1、エラー訂正レベルHの場合はデータコード数9、エラー訂正コード数17です。 バージョン1では21×21マス。下のような構造になっています。数字はビット番号を示します。 生成の流れ データ領域に入れるデータの作成 データをコンソールで入力 データコード語の作成 誤り訂正コード語の作成 QRコード配列の作成 固定領域 データ領域 マスク処理 形式情
![ライブラリを使わずにC#でQRコードを生成してみる - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/c4de2d7a208e3ea95d1867b8853b2efcc2666509/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUUzJTgzJUE5JUUzJTgyJUE0JUUzJTgzJTk2JUUzJTgzJUE5JUUzJTgzJUFBJUUzJTgyJTkyJUU0JUJEJUJGJUUzJTgyJThGJUUzJTgxJTlBJUUzJTgxJUFCQyUyMyVFMyU4MSVBN1FSJUUzJTgyJUIzJUUzJTgzJUJDJUUzJTgzJTg5JUUzJTgyJTkyJUU3JTk0JTlGJUU2JTg4JTkwJUUzJTgxJTk3JUUzJTgxJUE2JUUzJTgxJUJGJUUzJTgyJThCJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1lMjE2MjllODVkMWM1ZGE2MjY1ZmEwYjJhMTFlNzE0Mw%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB3YWthYmE3MTAmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWYyNDAzMWNjMTY5Mjk5Yjk5OGEyODRmZDI5NjI5ZDFl%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3Df3a88386854616eb054b872484d6f030)