0

我正在尝试使用 Javax 包和 Java 中的 USB util 从 USB 手持条形码扫描仪读取数据。我能够检测到设备,并且能够读取条形码。

然而,结果是一个字节数组,格式如下。它显示的数字比第 3 个字节数组位置所需的原始数字少一个。我也给回车加了后缀。它返回 40 用于回车 - 而不是 13(根据 ASCII 标准)。

我正在使用 HOneywell 手持式扫描仪 xenon 1900

请让我知道是什么问题?
例如,所需的输出是 20131503000140300,收到的输出是

[0, 0, 31, 0, 0, 0, 0, 0]
[0, 0, 39, 0, 0, 0, 0, 0]
[0, 0, 30, 0, 0, 0, 0, 0]
[0, 0, 32, 0, 0, 0, 0, 0]
[0, 0, 30, 0, 0, 0, 0, 0]
[0, 0, 34, 0, 0, 0, 0, 0]
[0, 0, 39, 0, 0, 0, 0, 0]
[0, 0, 32, 0, 0, 0, 0, 0]
[0, 0, 39, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 39, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 39, 0, 0, 0, 0, 0]
[0, 0, 30, 0, 0, 0, 0, 0]
[0, 0, 33, 0, 0, 0, 0, 0]
[0, 0, 39, 0, 0, 0, 0, 0]
[0, 0, 32, 0, 0, 0, 0, 0]
[0, 0, 39, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 39, 0, 0, 0, 0, 0]
[0, 0, 40, 0, 0, 0, 0, 0]

已扫描

使用的示例代码

 while (running) {

     try {
              length = usbPipe.syncSubmit(buffer);
         } catch (UsbException uE) { }

         for (int i = 0; i < length; i++) {
              long scannedDigit = UsbUtil.unsignedLong(buffer[i]);
               System.out.print(".long." + scannedDigit);

            }
}
4

0 回答 0