如何处理从条形码扫描仪返回的二进制数据?

时间:2012-08-29 19:17:23

标签: java javascript barcode barcode-scanner

我有一个2d条码扫描器(Honeywell Xenon 1900)。

扫描1D条形码非常简单,因为扫描仪会模拟键盘事件并发送纯文本。

但是当我扫描PDF417 format 2D条形码时,扫描仪会发送二进制数据。如何捕获和解码此数据?有些符号是不可打印的,因此扫描到网页上的表单是行不通的。

2 个答案:

答案 0 :(得分:3)

我对此问题的解决方案是使用COM端口。

我配置扫描程序,因此它不是作为键盘事件发送数据,而是发送到虚拟COM端口。 然后我有Java-applet,它监听这个端口(使用RXTX)。然后COM-port不为空,我可以获取数据并解析它。

答案 1 :(得分:0)

您已标记此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应用程序后,您可以非常轻松地处理它。