2014-07-26 36 views
5

Potrzebuję ocenić i porównać biblioteki generujące kody QR i poszukać logicznych parametrów do pomiaru i porównania wyników.Jak mogę ocenić jakość/poprawność kodu QR? (Jak uzyskać ilościową i jakościową charakterystykę kodu QR)

Dlaczego tego potrzebuję? Wydaje się, że kiedy daję dwa różne generatory QR tym samym wejściem, wydaje się, że generowany jest inny wynik, a ja jako człowiek nie potrafię powiedzieć, który z nich jest poprawny.

Poprawnie mam na myśli to, ile danych "QR" jest zakodowanych/reprezentowanych przez moje wejście lub jest w stanie czytać przez tanie telefony komórkowe (większe bloki).

Jest to szczególnie prawdziwe w czynienia z danych binarnych, gdzie każdy bajt jest między 0x7F (127 dziesiętnie) lub A0 (160 dziesiętnie) i od czasu do czasu gdy chodzi o wartości od 0 do 0x20 (32 dziesiętnie)

Problematyczne obszary, o których mowa powyżej, mają również korelować z nieprawidłowymi lub niedrukowalnymi znakami zestawu znaków ISO IEC 8859 1, więc możliwe jest, że biblioteka odczytuje moje dane wejściowe jako ciąg znaków jednoskładnikowych lub koduje go jako 2-bajtowe UTF- 16 znaków, lub kto wie!

Jeśli ktoś ma szczegółowe informacje na temat aspektów kodu QR, powinienem przyjrzeć się, a jeszcze lepiej, aplikacji, która wyświetla dane diagnostyczne z kodu QR, byłoby to idealne.

+1

Istnieje wiele różnych ważnych kodowania z dokładnie tego samego wejścia. Enkoder może w niektórych przypadkach wybrać różne tryby lub różne wzory maskowania. Niektóre są bardziej optymalne niż inne, czasami, ale wszystkie są potencjalnie poprawne. Myślę, że chcesz sprawdzić, czy koder/dekoder zwraca dokładnie dane wejściowe podczas podróży w obie strony i wybrać taki, który działa na wszystkich twoich danych wejściowych. –

Odpowiedz

1

Chciałbym skorzystać z usługi jak ZXing - http://zxing.org/w/decode.jspx

można go karmić kod QR - albo poprzez przesyłanie lub wskazując na URL.

To daje pewne informacje diagnostyczne, w tym surowych bajtów, które zostały zakodowane

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 

Jeśli nie chcesz zaufać losową stronę, to Open Source, dzięki czemu można go uruchomić lokalnie.

4

QR dekoder z bardziej wyjście debugowania następnie ZXing jest http://qrlogo.kaarposoft.dk/qrdecode.html

Według jego autora, oprogramowanie wykorzystywane jest czysta JavaScript, tak, że działa w swoim własnym przeglądarce.

Przykładowy kod QR dekodowania (PNG został zakodowany przez http://www.qrcode-monkey.de/) z wyjściem debugowania umożliwiają:

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 

Uwaga: dane osadzone jest tel:1234567890