2012-08-29 39 views
5

我有一個2d條碼掃描器(霍尼韋爾氙氣1900)。如何處理從條形碼掃描儀返回的二進制數據?

掃描一維條碼很容易,因爲掃描儀模擬鍵盤事件併發送純文本。

但是當我掃描PDF417 format二維條碼時,掃描儀發送二進制數據。我如何捕獲和解碼這些數據?有些符號是不可打印的,因此掃描到網頁上的表單不起作用。

+3

也許發表了回覆? – BryanH

+1

你在你的帖子中有你的答案,只需更仔細地查看鏈接(ISO在wiki中) –

+0

根據維基百科的文章,條碼可以包含實際的二進制數據,所以這是合理的,這是輸出,對不對?如果您僅使用ASCII數據生成您自己的二維條碼會怎樣;你是否從掃描儀獲取文本? – BryanH

回答

3

我對這個問題的解決方案是使用COM端口。

我配置掃描器,因此它發送的數據不是鍵盤事件,而是虛擬的COM端口。 然後我有Java-applet,它監聽這個端口(使用RXTX)。然後COM端口不是空的,我可以獲取數據並解析它。

0

您已標記此java以及javascript。但是,你真的沒有給我們任何關於你的申請的細節。儘管如此,在JavaScript中處理二進制數據的傳輸可以使用base64協議完成。使用兩種方法btoa()atob()

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

我覺得這個概念對你雖然(我只是猜測,因爲你沒有解釋你的任何細節在做什麼),將base64ENCODE數據運輸到前javascript/html/web應用程序。我會用java來做這件事。一旦你將base64編碼數據發送到你的web應用程序,你可以很容易地處理它。

+0

這是一個優雅且易於實施的解決方案。但是我找不到我的掃描儀使用BASE64格式的配置選項。 – griZZZly8