QRコード(QRCodeEncoderクラス)についての質問です。
C#
1 var enCodeString = this.GetQRString(); 2 // QR画像を作成する。 3 var qrEncoder = new QRCodeEncoder(); 4 qrEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE; 5 qrEncoder.QRCodeScale = 10; 6 qrEncoder.QRCodeVersion = 10; 7 qrEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M; 8 qrEncoder.QRCodeBackgroundColor = Color.Black; 9 qrEncoder.QRCodeForegroundColor = Color.White; 10 11 12 13 var bt = qrEncoder.Encode(enCodeString, Encoding.UTF8);
上記で(,,英数字16桁,英数字25桁,数字5桁,数字5桁,数字5桁,数字5桁,英数字10桁,英数字15桁,英数字10桁,英数字15桁)
の内容をQRコード内にっか右脳したく思っていて
デンソーウェーブ公式サイト内の混合のビット数を計算したところ
英数字16桁 4+9+118+0 = 101
数字5桁 4+10+101+7 =31
の様に計算した所 合計704ビット計算になり
エラー補正Mのバージョン6で表示できる見込みでソースを書いていたのですが
Indexが配列の境界線買いというエラーがでて表示されない原因がわからないです。
エラー行数は上記コードの.Encode部です
version = 10 では表示できます
またversion = 0 でも表示されるのですが バージョンは1~40ではないのでしょうか?
調べてはみたもののなかなかわからず皆さまの知識を借りたく思います、ご回答いただきたく思います。
また混合計算時のバイナリー項目についてもなにかわかっておりません
エラーメッセージを、いらぬ翻訳省略しないで、コピペでそのままの形で提示しましょう
失礼しました、ただいま更新いたしました。
拝見いただければと思います。
エンコードするデータは例えば
string encodestring = "(,,AAAAAAAAAAAAAAAA,BBBBBBBBBBBBBBBBBBBBBBBB,00000,00000,00000,00000,CCCCCCCCCC,DDDDDDDDDDDDDDD,EEEEEEEEEE,FFFFFFFFFFFFFFF)";
このようになるのですか?
そうなのであれば、カンマとかは計算に含まれていますか?
YAmaGNZさん
そのような形になります、カンマは計算内に入っておりません。
カンマ計算の際は英数字バイトで計算すれば良いのでしょうか。
質問ばかりで申し訳ありませんが、ご回答いただければと思います。
私も詳しくないのでデンソーのページを読んだだけでの話なのですが
エンコードするデータを数字、英数字と分けるとすると
英数字46文字 ”(,,AAAAAAAAAAAAAAAA,BBBBBBBBBBBBBBBBBBBBBBBB,”
数字5桁 00000
英数字1文字 ,
数字5桁 00000
英数字1文字 ,
数字5桁 00000
といった感じで計算しなければならないのではないでしょうか?
このように計算するのであれば、普通に全体を英数字123文字として計算したほうがいいのではないかと思います。
追加ご回答ありがとうございます。
データの中身に関しまして漢字が含まれる可能性が有ります。
漢字のビット数が8*桁数で、英数字の方がビット数が大きいので英数字で計算した次第です。
なので英数字123文字にはならない可能性が有ります。
提示されたものが123文字だったのでそう書いただけです。
なので、考えられる最大値で計算すればいいのではないですか?
ただ、カンマ区切りのデータなので各項目を英数字、数字と分けて考えるのではなく、全体ひとまとめの方が考えやすいのではないかと思っただけです。
ちなみに、QRCodeEncodeModeをALPHA_NUMERICにして
string encodestring = "(,,AAAAAAAAAAAAAAAA,BBBBBBBBBBBBBBBBBBBBBBBB,00000,00000,00000,00000,CCCCCCCCCC,DDDDDDDDDDDDDDD,EEEEEEEEEE,FFFFFFFFFFFFFFF)";
このデータをQRCodeVersion = 6でエンコードできましたよ
回答1件
あなたの回答
tips
プレビュー