DoD CAC PDF417压缩

时间:2012-04-12 16:42:40

标签: cac

是否有人知道PDF417条形码(CAC前面)中使用的EDIPI / CII压缩方法在何处被解释或记录?

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

显然是一个非常深奥的问题,但任何帮助都会受到赞赏。

谢谢!

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

我有官方国防部文件的副本,该文件解释了条形码的布局,但我相信它是在受限制的网站上。你和Matthew是正确的,压缩涉及将base-32数字转换为数字,但只有某些数据元素被压缩,特别是任何可以被视为个人信息(SSN,出生日期等)的数据。您最好的选择是通过www.cac.mil获得CAC开发人员套件(CDK)的副本。