2012-08-29 13 views
5

Ho un lettore di codici a barre 2d (Honeywell Xenon 1900).Come gestire i dati binari restituiti dallo scanner di codici a barre?

Scansione I codici a barre 1D sono facili, poiché lo scanner emula eventi di tastiera e invia testo in chiaro.

Ma quando si acquisiscono codici a barre 2D PDF417 format, lo scanner invia dati binari. Come posso acquisire e decodificare questi dati? Alcuni simboli non sono stampabili, pertanto la scansione in un modulo su una pagina Web non funzionerebbe.

+3

Forse postare una risposta campione? – BryanH

+1

hai la tua risposta nel tuo post, guarda il link più da vicino (ISO in wiki) –

+0

Secondo l'articolo di Wikipedia, il codice a barre può contenere dati binari effettivi, quindi avrebbe senso che questo sia l'output, giusto? Cosa succede se si genera il proprio codice a barre 2D con soli dati ASCII; ricevi il testo dallo scanner? – BryanH

risposta

3

La mia soluzione per questa domanda sta utilizzando la porta COM.

Configuro lo scanner, quindi invia i dati non come eventi di tastiera, ma nella porta COM virtuale. Poi ho Java-applet, che ascolta questa porta (usando RXTX). Quindi la porta COM non è vuota, posso ottenere i dati e analizzarli.

0

Hai taggato questo java così come javascript. Tuttavia, non ci hai fornito alcun dettaglio della tua domanda. Ciò nonostante, trattando il trasporto di dati binari in javascript, si può fare usando il protocollo base64. Utilizzare due metodi btoa() e atob().

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

Penso che il concetto per voi, però, (e io sto solo indovinare poiché non l'ha spiegato cosa si sta facendo in dettaglio), sarebbe quello di base64ENCODE i dati prima del trasporto a l'applicazione javascript/html/web. Lo farai usando java, suppongo. Una volta inviati i dati codificati base64 alla tua applicazione web, puoi gestirli abbastanza facilmente.

+0

Questa è una soluzione elegante e di semplice implementazione. Ma non riesco a trovare l'opzione di configurazione per il mio scanner per utilizzare il formato BASE64. – griZZZly8

Problemi correlati