解析来自 PDF417 内置 reader Android 设备的输入

Parse input from PDF417 built-in reader Android device

首先,我正在学习编码。

我正在使用 Android Studio 3.1.3,Java,API 22 级(针对 Android OS 5.1)

我需要编写一个 Android 应用程序来捕获从 PDF417 读取的数据,这些数据位于我所在国家/地区的人们的 ID 上。它是一个人员访问控制应用程序,所以你来到一个地方,他们会读取你的 ID 并获取一些保存在设备上的数据,以授权或拒绝访问该地方。它的离线应用程序会将数据保存到本地 SQLite 数据库中。

为此,我使用的是 Newland MT6550 设备,它具有内置的 1D 和 2D 成像扫描仪。因此该设备可以读取 PDF417 和各种其他条形码(因此,我不需要创建 reader 应用程序)。

我需要将 PDF417 的输入解析为几个数据字符串,例如名称、ID n°、日期和序列号。所有这些都以我未知的格式(或编码?)存储在 PDF417 中。

问题是,当我用扫描仪读取 PDF417 时,它在 EditText 上写了几个无法识别的字符(如菱形中的 '?',以及中文或韩文字符),这就是我得到代码输入,我无法解析它,而且它也没有给我所有数据。

有没有一种方法可以设置输入以便我可以使用它?也许是一个没有 '?' 的字符串或者我可以读取并分离成我需要的数据字符串的 XML 文件。 (我知道该怎么做)

TL;DR:我需要解析来自 PDF417 内置扫描仪 Android 设备的数据输入,将输入捕获到我的应用程序中,并从中保存数据。

这是结果数据的示例:

178023954111605108 GARC虯 CHL280618A02375463812 � PC1悇o@?h<}r皩z苝u祑偲歝頺b~L哖乺嵟e潔疂Q鋂o堡Rj_尯畬筍1]�:祪臽樐挙|甂醃暵洠燫嫻VM焤┫篟a耼觟ㄊEz硠.鮡〩�0m槺棷Φw碨莿M0�?Qじ9�絀ω挄� /聾,盼3裐?EABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghij

联系了 Newland,他们发送了更新的 SDK 手册,其中包括扫描仪的编码设置。更改编码我能够获取并正确解析来自 ID 的数据。该应用程序已完成,我第一次获得编码报酬!耶!