QRコードライブラリが日本で作成され、C ++であることがわかっている限り、コピーはGithubにあり、Kuapay IOSソースコードを探します.....パッケージに埋め込まれているのは、6つのソースコードを含むQRDrawフォルダーです。
興味のあるものと、最終的に何らかの方法で呼び出すものは、QR_Encodeです。ヘッダー(QR_Encode.h)を見ると、次のことがわかります。
===============
// åÎÇËí˘ê≥ÉåÉxÉã
#define QR_LEVEL_L 0
#define QR_LEVEL_M 1
#define QR_LEVEL_Q 2
#define QR_LEVEL_H 3
// ÉfÅ[É^ÉÇÅ[Éh
#define QR_MODE_NUMERAL 0
#define QR_MODE_ALPHABET 1
#define QR_MODE_8BIT 2
#define QR_MODE_KANJI 3
// ÉoÅ[ÉWÉáÉì(å^î‘)ÉOÉãÅ[Év
#define QR_VRESION_S 0 // 1 Å` 9
#define QR_VRESION_M 1 // 10 Å` 26
#define QR_VRESION_L 2 // 27 Å` 40
#define MAX_ALLCODEWORD 3706
// ëçÉRÅ[ÉhÉèÅ[Éhêîç≈ëÂíl
#define MAX_DATACODEWORD 2956
// ÉfÅ[É^ÉRÅ[ÉhÉèÅ[Éhç≈ëÂíl(ÉoÅ[ÉWÉáÉì40-L)
#define MAX_CODEBLOCK 153
// ÉuÉçÉbÉNÉfÅ[É^ÉRÅ[ÉhÉèÅ[Éhêîç≈ëÂíl(ÇqÇrÉRÅ[ÉhÉèÅ[ÉhÇä‹Çfi)
#define MAX_MODULESIZE 177
// àÍï”ÉÇÉWÉÖÅ[Éãêîç≈ëÂíl
#define QR_MARGIN 4
コメントは日本語なので、ソースコードで理解していることから、物事が沈むのに少し時間がかかります
次のコマンドを使用してエンコードプロセスを呼び出します。
CQR_Encode encoder;
encoder.EncodeData(1, 0, true, -1, str);
(1は実際にはQRレベル(リードソロモンエラー訂正レベル)を指します。この場合、M(RSエラー訂正)0はQRバージョンS(小さいサイズですか?)trueは自動拡張のブール値であり、-1はあいまいなパラメーターです。 masking_noと呼ばれますが、これらすべてにどのように適合するかはまだわかりません。strは、QRコードに作成する文字列です。
ソースコードから、実際に文字列を評価して、数値、アルファベット(すべて大文字)、漢字、または8ビット(混合大文字)であるかどうかを確認し、最大長とエンコード/圧縮方法を決定します。
したがって、あなたの質問に対する答えは、これがSDKの残りの部分の基礎となる実際の日本語コードである場合、渡す文字列が実際に数値であることを確認するだけで、それが理解され、より長い文字列を渡すことができます。おそらくバージョン2(L)を使用することをお勧めしますが、ECレベルをL(0)に下げて冗長性を減らし、最大文字数を増やすことをお勧めします(ps引用した数にはLのECが必要です。
これがお役に立てば幸いです