2014-07-26 6 views
5

QR 코드를 생성하는 라이브러리를 평가하고 비교하고 출력을 측정하고 비교하기위한 논리 매개 변수를 찾아야합니다.QR 코드의 품질/정확성을 어떻게 평가합니까? (양적 및 질적 QR 코드 특성을 얻는 방법)

왜이 기능이 필요한가요? 두 개의 서로 다른 QR 생성기에 동일한 입력을 주면 다른 출력이 생성되는 것처럼 보입니다. 그리고 인간으로서 나는 어느 것이 맞는지 알 수 없습니다.

올바른 말은 "QR"데이터가 입력에 의해 인코딩되고 표현되었거나 저렴한 휴대 전화 (큰 블록)에서 읽을 수 있음을 의미합니다. 0

가 0x20 (32 진수)로 값을 처리 할 때

이것은 때때로 각 바이트에서 0x7f (127 진수) 또는 A0 (160 진수) 사이에 바이너리 데이터를 취급 특히 사실이며 위에서 언급 한 문제 영역은 ISO IEC 8859 1 문자 세트의 유효하지 않거나 인쇄 할 수없는 문자와도 관련이 있기 때문에 라이브러리가 입력을 한 문자열로 읽거나 2 바이트 UTF- 16 자, 또는 누가 아는 지!

내가보기에 QR 코드의 어떤면에 대한 세부 정보가 있거나 QR 코드의 진단 데이터를 표시하는 앱이 있다면 완벽 할 것입니다.

+1

이다. 인코더는 경우에 따라 다른 모드 또는 다른 마스크 패턴을 선택할 수 있습니다. 어떤 것들은 다른 것들보다 최적 인 경우도 있지만 때로는 모두 정확할 수도 있습니다. 인코더/디코더가 왕복 여행에서 정확히 입력을 반환하는지 확인하고 모든 입력에 대해 작동하는 하나를 선택하려고하는지 확인하고 싶습니다. –

답변

1

나는 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은 그래서 당신은 로컬로 실행할 수 있습니다.

4

더 디버그 출력이 다음 zxing있는 QR 디코더는 http://qrlogo.kaarposoft.dk/qrdecode.html

은 저자에 따르면, 사용하는 소프트웨어가 순수 자바 스크립트입니다, 그래서 자신의 브라우저에서 실행됩니다.

디버그 출력 (PNG는 http://www.qrcode-monkey.de/ 의해 코딩 된)의 예 QR 코드 디코딩

활성화 :

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