Code 11(USD-8)条码结构、编码规则及校验符计算方法

发布时间: 2016-02-12 08:25 浏览次数: 22 字号:

Code 11条码,也称为USD-8条码,是一种高密度、长度不固定、离散的条码,主要用于标记电信设备。它是由Intermec公司的David Allais于1977年发明的。

条码组成结构

Code 11条码组成结构

该条码包含以下字元:

  • 左侧空白区
  • 起始符
  • 分隔相邻字元的Gap
  • 代表数据的符号字符
  • 可选的校验符
  • 终止符
  • 右侧空白区

左、右空白区至少为10X宽,其中“X”是当前的窄条(空)宽度。

每个字元由三条二空组成,其中第一个和最后一个元素都是条。相邻的两个字元之间由一个窄空(Gap)隔开。

字符集与编码表

Code 11码支持数字 (0-9) 和连字符 (-)。 Code 11的名称就来源于这 11 个字符。

Code 11编码表

0表示窄条或窄空,1表示宽条或宽空。由编码表可以看出,“0”、“9”、“-”这三个字符只有一个宽元素,其它字符都有两个宽元素。

窄条(空)与宽条(空)的宽度比例在1:3至1:2之间。

校验符及其计算

由于Code 11的自然密度,印刷缺陷会导致扫描仪误读字符。为了弥补这一缺陷,Code 11支持使用一个或两个可选的校验符。对于少于10个字符的数据,使用单个校验符,对于10个或更多字符的数据,使用两个校验符。第1个校验符基于模11算法,第2个校验符基于模9算法。

下面举例说明:

12-12345-67890

此字符串位数是14位,附加上C、K两位校验数字。

C校验符的计算步骤:

Code 11码C校验符计算

(1)每一位字符(连字符“-”作10)乘以对应的权重,然后求和:(0*1)+(9*2)+(8*3)+(7*4)+(6*5)+(10*6)+(5*7)+(4*8)+(3*9)+(2*10)+(1*1)+(10*2)+(2*3)+(1*4)=305;

(2)将上一步骤的结果对11求模:305mod11=8,即第一位校验符C=8。

K校验符的计算步骤:

Code 11码K校验符计算

(1)将第1位校验符C的值加到字符串的尾部,然后每一位字符(连字符“-”作10)乘以对应的权重,然后求和:(8*1)+(0*2)+(9*3)+(8*4)+(7*5)+(6*6)+(10*7)+(5*8)+(4*9)+(3*1)+(2*2)+(1*3)+(10*4)+(2*5)+(1*6)=350;

(2)将上一步骤的结果对11求模:350mod11=9,即第二位校验符K=9。

下图是用Bartender软件生成的条码(最后的字符8和9分别是C和K两位校验符)。

Bartender软件生成的条码(带两位校验符)

欢迎联系我们咨询相关业务
微信二维码