2

有人知道在哪里解释或记录了 PDF417 条形码(CAC 前面)中使用的 EDIPI / CII 压缩方法吗?

我找到的最接近的参考是这个文件:http ://www.cnic.navy.mil/navycni/groups/public/@hq/@cacpmo/documents/document/cnicp_a282327.pdf但它并没有真正解释压缩 -将字符串转换为 base-32 似乎并没有得到相同的结果。

显然是一个非常深奥的问题,但任何帮助将不胜感激。

谢谢!

4

2 回答 2

1

我遇到了类似的问题,所以我写了这段代码。

Public function base32(stringin as string) as double
    ref = "0123456789abcdefghijklmnopqrstuv"
    stringin = lcase$(stringin)
    x& = 0
    if len(stringin) = 0 then base32 = 0: exit function
    for n% = len(stringin) to 1 step -1
       base& = (32 ^ num)
       if base& = 0 then base& = 1
       v = instr(1, ref, mid$(stringin, n%, 1)) - 1
       if v < 0 then base32 = 0: exit function  'invalid character detection
       x& = x& + (v * base&)
       num = num + 1
       next n%
    base32 = x&
end function

public function mildate(stringin as string) as string
    mildate = dateadd("d", base32(stringin), "01/01/1000")
end function
于 2012-12-26T19:05:03.807 回答
0

我有一份官方 DoD 文件的副本,其中解释了条形码的布局方式,但我相信它位于受限站点上。您和 Matthew 是正确的,压缩涉及将 base-32 数字转换为数字,但只有某些数据元素被压缩,特别是任何可能被视为个人信息(SSN、出生日期等)的数据元素。您最好通过 www.cac.mil 获得一份 CAC 开发人员工具包 (CDK)。

于 2015-07-25T03:33:29.083 回答