我有一個2d條碼掃描器(霍尼韋爾氙氣1900)。如何處理從條形碼掃描儀返回的二進制數據?
掃描一維條碼很容易,因爲掃描儀模擬鍵盤事件併發送純文本。
但是當我掃描PDF417 format二維條碼時,掃描儀發送二進制數據。我如何捕獲和解碼這些數據?有些符號是不可打印的,因此掃描到網頁上的表單不起作用。
我有一個2d條碼掃描器(霍尼韋爾氙氣1900)。如何處理從條形碼掃描儀返回的二進制數據?
掃描一維條碼很容易,因爲掃描儀模擬鍵盤事件併發送純文本。
但是當我掃描PDF417 format二維條碼時,掃描儀發送二進制數據。我如何捕獲和解碼這些數據?有些符號是不可打印的,因此掃描到網頁上的表單不起作用。
我對這個問題的解決方案是使用COM端口。
我配置掃描器,因此它發送的數據不是鍵盤事件,而是虛擬的COM端口。 然後我有Java-applet,它監聽這個端口(使用RXTX)。然後COM端口不是空的,我可以獲取數據並解析它。
您已標記此java以及javascript。但是,你真的沒有給我們任何關於你的申請的細節。儘管如此,在JavaScript中處理二進制數據的傳輸可以使用base64協議完成。使用兩種方法btoa()
和atob()
。
function toBase64() {
return window.btoa(data);
}
function fromBase64 (strBase64){
data = window.atob(strBase64);
}
我覺得這個概念對你雖然(我只是猜測,因爲你沒有解釋你的任何細節在做什麼),將base64
ENCODE數據運輸到前javascript/html/web應用程序。我會用java來做這件事。一旦你將base64編碼數據發送到你的web應用程序,你可以很容易地處理它。
這是一個優雅且易於實施的解決方案。但是我找不到我的掃描儀使用BASE64格式的配置選項。 – griZZZly8
也許發表了回覆? – BryanH
你在你的帖子中有你的答案,只需更仔細地查看鏈接(ISO在wiki中) –
根據維基百科的文章,條碼可以包含實際的二進制數據,所以這是合理的,這是輸出,對不對?如果您僅使用ASCII數據生成您自己的二維條碼會怎樣;你是否從掃描儀獲取文本? – BryanH