如何从条码扫描仪中解码原始数据(非ASCII字符)

4
我和我的开发团队有一个项目,需要将条形码扫描仪信号转换为原始数据并通过RS232发送到我们的PC上,然后使用VB.net应用程序进行处理。我已经获得了要处理的原始数据,但问题是原始数据只包含从220开始到255的不可打印ASCII字符。我的问题是是否有方法将原始数据解码为有意义的可打印ASCII(在任何语言中,如Java、Ruby等)?
所使用的扫描仪是Solutions BS100。扫描仪的默认设置是通过USB输出其数据,并自动检测为HID键盘,这不是常见的方法,但有时作为我的团队中的工程师,我必须尝试另一种方法。因此,我认为我已经正确捕获了它,虽然需要使用自定义硬件进行串行连接。我删除了默认的USB端口,并将其更改为带有MAX487 IC的rj45信号,然后将其转换回rs232级别,以便直接将信号馈送到我的PC的COM1。
返回数据:
250 224 250 221 255 224 221 255 248 224 248 221 255 224 253 255 221 255 224 221 255 221 255 224 221 255 253 255 224 221 255 221 255 224 253 255 253 255 224 221 255 221 255 224 253 255 246 224 246 233 224 233

来自图片: 扫描图像

手持式条码阅读器的型号是什么? - laune
这是规格说明书:http://solution.co.id/bs100.php - Muhammad_Sigit_Dude
它有一个USB端口:从读取中获得的是“原始数据”吗?您需要某种程序员手册告诉您数据的含义。 - laune
1
你能否在你的帖子中添加一个示例条形码并展示扫描结果输出吗? - Justin Ryan
1
+1 给 Justin。如果将黑盒抽象应用于您的条形码扫描仪,并使用已知的条形码解码输出,会怎样呢? - user1516873
显示剩余7条评论
1个回答

2

如果您将扫描仪电缆从USB更改为串行配置,通常需要配置扫描仪接口以使用串行连接(请参见此示例)。一旦串行接口被配置,您应该会收到ASCII字符返回(49 48 49 48 48 48 48 48 48 55 51)。


1
咳咳,我必须承认我太天真了。 - Muhammad_Sigit_Dude
其中一些设备在使用 USB 连接时也可以设置为虚拟 COM 端口。 - Swinders
@Muhammad_Sigit_Dude 如果这个答案有用,请不要忘记给它投票并接受它。 - Swinders

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接