是否有人知道PDF417条形码(CAC前面)中使用的EDIPI / CII压缩方法在何处被解释或记录?
我找到的最接近的参考文献是这个文档:http://www.cnic.navy.mil/navycni/groups/public/@hq/@cacpmo/documents/document/cnicp_a282327.pdf但它并没有真正解释压缩 - 将字符串转换为base-32似乎不会产生相同的结果。
显然是一个非常深奥的问题,但任何帮助都会受到赞赏。
谢谢!
答案 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)的副本。