首先,我正在学习编码。
我正在使用 Android Studio 3.1.3、Java、API 级别 22(适用于 Android OS 5.1)
我需要编写一个 Android 应用程序,该应用程序将捕获从 PDF417 读取的数据,这些数据位于我所在国家/地区的人们的身份证上。它是一个人员访问控制应用程序,因此您来到一个地方,他们会读取您的 ID 并获取一些保存在设备上的数据,以授权或拒绝访问该地方。它的离线应用程序可以将数据保存到本地 SQLite 数据库中。
为此,我使用的是 Newland MT6550 设备,它具有内置的 1D 和 2D Imager Scanner。因此该设备可以读取 PDF417 和各种其他条码(因此,我不需要创建阅读器应用程序)。
我需要将 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