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

时间:2014-07-26 19:11:07

标签: debugging encoding qr-code zxing iso-8859-1

我需要评估和比较QR码生成库,并寻找逻辑参数来衡量和比较输出。

  

为什么我需要这个?似乎当我给两个不同的QR发生器提供相同的输入时,似乎会产生不同的输出,而我作为一个人不能告诉哪一个是正确的。

     

正确无误是指多少" QR"数据由我的输入编码/表示,或者可以通过便宜的手机(更大的块)读取。

处理二进制数据尤其如此,其中每个字节在0x7f(十进制127)或A0(十进制160)之间,偶尔处理0到0x20(十进制32)的值时

上面提到的问题区域也恰好与ISO IEC 8859 1字符集的无效或不可打印字符相关联,因此库可能会将我的输入作为单字符串或编码进行读取它是一个2字节的UTF-16字符,或谁知道!

如果有人知道我应该查看的QR码的哪些方面,或者更好的是,显示QR码诊断数据的应用程序,这将是完美的。

2 个答案:

答案 0 :(得分:6)

具有更多调试输出然后zxing的QR解码器 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

答案 1 :(得分:2)

我会使用像ZXing这样的服务 - http://zxing.org/w/decode.jspx

您可以通过上传或指向网址来提供QR码。

它将为您提供一些诊断信息,包括已编码的原始字节

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就可以在本地运行。