2012-08-29 14 views
5

Mam skaner kodów kreskowych 2d (Honeywell Xenon 1900).Jak obsługiwać dane binarne zwracane ze skanera kodów kreskowych?

Skanowanie kodów kreskowych 1D jest łatwe, ponieważ skaner emuluje zdarzenia klawiatury i wysyła zwykły tekst.

Jednak po zeskanowaniu PDF417 format kodów kreskowych skaner przesyła dane binarne. Jak mogę przechwytywać i dekodować te dane? Niektóre symbole są niedrukowalne, więc skanowanie do formularza na stronie internetowej nie będzie działać.

+3

Może chcesz wysłać próbną odpowiedź? – BryanH

+1

masz odpowiedź w swoim wpisie, spójrz na link bardziej dokładnie (ISO na wiki) –

+0

Według artykułu w Wikipedii, kod kreskowy może zawierać rzeczywiste dane binarne, więc byłoby sensowne, że to jest wynik, prawda? Co, jeśli wygenerujesz własny kod 2D z danymi ASCII; otrzymujesz SMS-a ze skanera? – BryanH

Odpowiedz

3

Moje rozwiązanie dla tego pytania wykorzystuje port COM.

Skonfiguruję skaner, więc wysyła dane nie jako zdarzenia klawiatury, ale w wirtualnym porcie COM. Następnie mam apletu Java, który słucha tego portu (przy użyciu RXTX). Port COM nie jest pusty, mogę pobrać dane i przeanalizować je.

0

Oznaczono to java oraz javascript. Jednak naprawdę nie podałeś nam żadnych szczegółów dotyczących twojej aplikacji. Niemniej jednak, zajmowanie się transportowaniem danych binarnych w javascriptie, może odbywać się przy użyciu protokołu base64. Użyj dwóch metod: btoa() i atob().

function toBase64() { 
      return window.btoa(data); 
     } 
function fromBase64 (strBase64){ 
      data = window.atob(strBase64); 
     } 

myślę koncepcję dla ciebie mimo (a ja tylko zgadywać, ponieważ nie zostały wyjaśnione, co robisz w szczegóły), byłoby base64kodować dane przed przewiezieniem go do aplikacja javascript/html/web. Zrobisz to za pomocą Java, jak przypuszczam. Po wysłaniu danych zakodowanych w base64 do aplikacji internetowej można z łatwością sobie z tym poradzić.

+0

To eleganckie i proste w użyciu rozwiązanie. Ale nie mogę znaleźć opcji konfiguracji dla mojego skanera do używania formatu BASE64. – griZZZly8

Powiązane problemy