我正在尝试使用Javax包和USB中的USB util从USB手持条形码扫描仪读取数据。我能够检测到设备,并能够读取条形码。
但是结果是一个字节数组,格式如下。它显示的数字少于第3字节数组位置所需的原始数字。我也加了回车符。它返回40用于回车 - 而不是13(根据ASCII标准)。
我正在使用HOneywell Handheld扫描仪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);
}
}