2024-09-28 05:17:25 发布
网友
我需要一个二维码库只编码数值。只有数字的二维码最多可储存7089个字符,字母数字-4296。到目前为止,我已经搜索到,我可以找到的能力,只有编码字母数字或二进制值。除了一个BarcodeLib:http://www.barcodelib.com/这是非常昂贵的。在
所以我需要一个免费的库,它只能编码数字数据和存储多达7089位数字。 最有用的是java库,但python或.net库也很受欢迎。在
你感兴趣的那个,你最终通过某种方式调用的是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
注释是日文的,所以从我在源代码中的理解来看,需要一段时间才能理解
您可以通过以下命令调用编码过程:
(1实际上是指QR级别(Reed Solomon纠错级别),在本例中为M(RS纠错级别) QR尺寸为0 true是用于自动扩展的布尔值 而-1是一个模糊的参数,叫做masking_no,我还没有弄清楚它是如何适应所有这些的,str是你想创建成二维码的字符串。在
从源代码开始,它实际计算字符串以检查它是数字、字母(全大写)、汉字还是8位(混合大写),然后决定最大长度和编码/压缩方法。在
所以你的问题的答案是-如果这是真正的日文代码,这是SDK其余部分的基础,那么只要确保你传递的字符串是真正的数字,它会计算出来,并允许传递更长的字符串。您可能希望使用版本2(L),尽管不建议您将EC级别降低到L(0),以减少冗余并增加最大字符数(ps您引用的数字需要EC of L)
我希望这有帮助
你感兴趣的那个,你最终通过某种方式调用的是QR_Encode如果你看一下标题(QR_Encode.h),你可以看到以下内容:
注释是日文的,所以从我在源代码中的理解来看,需要一段时间才能理解
您可以通过以下命令调用编码过程:
^{pr2}$(1实际上是指QR级别(Reed Solomon纠错级别),在本例中为M(RS纠错级别) QR尺寸为0 true是用于自动扩展的布尔值 而-1是一个模糊的参数,叫做masking_no,我还没有弄清楚它是如何适应所有这些的,str是你想创建成二维码的字符串。在
从源代码开始,它实际计算字符串以检查它是数字、字母(全大写)、汉字还是8位(混合大写),然后决定最大长度和编码/压缩方法。在
所以你的问题的答案是-如果这是真正的日文代码,这是SDK其余部分的基础,那么只要确保你传递的字符串是真正的数字,它会计算出来,并允许传递更长的字符串。您可能希望使用版本2(L),尽管不建议您将EC级别降低到L(0),以减少冗余并增加最大字符数(ps您引用的数字需要EC of L)
我希望这有帮助
相关问题 更多 >
编程相关推荐