0

我找到了 2 个关于这个条形码的文档。他们都没有很好地描述如何计算校验和。

他们都只是给出了一个公式,并没有说明计算中要包含哪些字符。

此外,这些文档不提供开始/停止/填充或休息特殊符号的整数值。因此,如果它们包含在计算中,我什至不知道它们的值。

有谁知道如何计算校验和?

4

1 回答 1

1

我在那里找到了这些信息:http ://www.gomaro.ch/ftproot/Code%2016k.pdf 和那里(更完整):http ://www.expresscorp.com/content/express/pdf/IndustrySpecifications/USS- 16K.pdf

所以这段代码有 2 个校验和,它们是通过加权每个字符(包括起始字符)的值的总和来计算的。

  • 第一个复选符号从 2 开始加权。

  • 第二个从 1 开始加权。

  • 接下来,取总和的模 107。

因此,如果您有字符值 22、10、15、20,则两个校验和将是:

 (2*22 + 3*10 + 4*15 + 5*20) % 107
 (1*22 + 2*10 + 3*15 + 4*20) % 107

如果您有更多字符,请继续...一般公式将用于 n 个字符:

 C1 = modulo 107(sum((i+1)*Char(i))
 summed from i=1 to number of symbol character -2

 C2 =  modulo 107(sum(i*Char(i))
 summed from i=1 to number of symbol character -1 (so this includes C1)

这是 16k 代码结构的图像: 这是 16k 代码结构的图像:

于 2013-09-23T10:14:42.370 回答