debugging 如何评估QR码的质量/正确性?(如何获得定量和定性QR码特征)

6kkfgxo0  于 2023-11-22  发布在  其他
关注(0)|答案(2)|浏览(138)

我需要评估和比较QR码生成库,并寻找逻辑参数来测量和比较输出。
我为什么需要这个?似乎当我给给予两个不同的QR生成器相同的输入时,似乎会生成不同的输出,而我作为一个人无法分辨哪一个是正确的。
我所说的正确是指有多少“QR”数据是由我的输入编码/表示的,或者能够被便宜的手机(更大的块)读取。
这在处理每个字节在0x 7 f(十进制127)或A0(十进制160)之间的二进制数据时尤其如此,偶尔在处理从0到0x 20(十进制32)的值时也是如此。
上面提到的问题区域恰好也与ISO IEC 8859 1字符集的无效或不可打印字符相关,因此库可能将我的输入阅读为一个字符串,或将其编码为2字节的UTF-16字符,或者谁知道呢!
如果有人有关于我应该查看QR码的哪些方面的详细信息,或者更好的是,显示QR码诊断数据的应用程序,那将是完美的。

v64noz0r

v64noz0r1#

一个QR解码器的调试输出比zxing多**http://qrlogo.kaarposoft.dk/qrdecode.html**
根据它的作者,使用的软件是纯JavaScript,所以它运行在你自己的浏览器。
QR码解码示例(PNG由http://www.qrcode-monkey.de/编码),启用调试输出:

left=2 right=22 top=2 bottom=22
size=21
matchVersion version=1 finder0=64 finder1=64 finder2=64
matchVersion version=1 timing0=1 timing1=1 alignment=1
matchVersion version=1 format_NW =9 0 format_NESW =9 1 format = 9 ecl = 1 mask = 1
matchVersion version=1 grades(F(V)TAF): 4444->4
findModuleSize version=1 grade=4 error_correction_level=1 mask=1
getCodewords mask=1 length=26
getCodewords = 64,55,70,86,194,0,216,32,80,246,228,98,160,0,236,17,236,17,236,237,167,185,237,199,28,244
setBlocks n_blocks_first=1 n_blocks_second=0 n_blocks=1 n_block_words_first=19 n_block_words_second=0 n_block_ec_words=7 total=26
setBlocks block 0 (26): 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25
RS calculateSyndroms: No errors
correctErrors in = 64,55,70,86,194,0,216,32,80,246,228,98,160,0,236,17,236,17,236,237,167,185,237,199,28,244
correctErrors out = 64,55,70,86,194,0,216,32,80,246,228,98,160,0,236,17,236,17,236
error_grade=4
extractData bytes in (19) = 64,55,70,86,194,0,216,32,80,246,228,98,160,0,236,17,236,17,236
extractData mode = 4
extract charcount = 3
extractData mode = 2
extractAlphanum charcount = 1
extractData mode = 1
extractNumeric charcount = 10
extractData mode = 0
extractData data(14) = 116,101,108,58,49,50,51,52,53,54,55,56,57,48

字符串
注:嵌入的数据为tel:1234567890

qij5mzcb

qij5mzcb2#

我会使用ZXing -http://zxing.org/w/decode.jspx这样的服务
你可以给它一个QR码-通过上传或指向一个URL。
它将给予一些诊断信息,包括已编码的原始字节

Raw bytes   

44 76 d6 16 96 c7 46 f3   a7 26 56 36 97 06 96 56
e7 44 06 57 86 16 d7 06   c6 52 e6 36 f6 d3 f6 36
33 d6 f7 46 86 57 24 06   57 86 16 d7 06 c6 52 e6
36 f6 d2 67 37 56 26 a6   56 37 43 d6 86 56 c6 c6
f2 66 26 f6 47 93 d7 96   f0 ec 11 ec

字符串
如果你不想信任一个随机的网站,它是Open Source,所以你可以在本地运行它。

相关问题