基本信息
发布历史
-
1997年12月
研制信息
- 起草单位:
- 中国物品编码中心
- 起草人:
- 张成海、罗秋科、李素彩、郭卫华、赵楠、韩继明、刘芳、黄泽霞
- 出版信息:
- 页数:36页 | 字数:68 千字 | 开本: 大16开
内容描述
(;B/T17172一1997
前言
本标准非等效采用国际自动识别制造商协会A〔IMI)的P《DF417规范》。在技术上与国际自动识别
制造商协会的fPDF417规范》相兼容,保证了本标准与国外先进标准的一致性,本标准根据我国二维条
码的应用现状,在认真分析研究的基础上,对P《DF417规范》进行了取舍和补充完善,保证了本标准在
我国应用的可行性和实用性。·
本标准的附录A为标准的附录;
本标准的附录B、附录C、附录D、附录E都是提示的附录。
本标准由中国物品编码中心提出并归口。
本标准起草单位:中国物品编码中心。
本标准主要起草人:张成海、罗秋科、李素彩、郭卫华、赵楠、韩继明、刘芳、黄泽霞。
中华人民共和国国家标准
GB/T17172一1997
四一七条码
417Barcode
,范围
本标准规定了四一七条码的相关定义、结构、尺寸及技术要求。
本标准适用于数据采集与自动识别。
2引用标准
下列标准所包含的条文,通过在本标准中引用而构成为本标准的条文。本标准出版时,所示版本均
为有效。所有标准都会被修订,使用本标准的各方应探讨使用下列标准最新版本的可能性。
GB12905-91条码系统通用术语条码符号术语
GB/T15273.1-94信息处理八位单字节编码图形字符集第一部分:拉丁字母一
3定义
本标准采用下列定义。
3.1符号字符symbolcharacter
条码符号中,由特定的条、空组合而成的表示信息的基本单位。
3.2码字codeword
符号字符的值。
3.3簇cluster
构成四一七条码符号字符集的与码字集对应的相互独立的子集。
3.4全球标记标识符GlobalLabelIdentifier(GLI)
对数据流的一种特定解释的标识。
3.5拒读错误:ejectionerror
在确定位置上的符号字符的丢失或不可译码。
3.6替代错误substitutionerror
在随机位置上的符号字符的错误译码。
4符号描述
4.1基本特性
四一七条码的基本特性见表1,
国家技术监督局1997-12一25批准1998一08一01实施
Gs/T17172一1997
表1四一七条码的基本特性
项目特性
全ASCII字符及扩展ASCII字符或8位二进制数据,多达811800种不同的字符
可编码字符集
集或解释
类型连续型,多行
字符自校验功能有
可变
符号尺寸高度:3到90行
宽度90X到583X"
双向可读是
错误纠正码字数2到512个
每个符号表示1850个大写字母
最大数据容量(错误纠正等级为
或271。个数字
0时)
或1108个字节
附加特性可选错误纠正等级
可跨行扫描
附加选择宏四一七条码)2,全球标记标识符截短四一七条码,,
”X为符号的模块宽。
2)宏四一七条码见附录D.
3)截短四一七条码见附录C,
4.2符号结构
四一七条码符号是一个多行结构。符号的顶部和底部为空白区。上下空白区之间为多行结构。每
行数据符号字符数相同,行与行左右对齐直接衔接。其最小行数为3,最大行数为90,见图1。每行构成
如下:
a)左空白区
b)起始符
。)左行指示符号字符
d)1^30个数据符号字符
e)右行指示符号字符
f)终止符
9)右空白区
上空白区
行且1
行八乙
行1
行4
行七
行人
下空白区
图1四一七条码符号的结构
Gs/T17172一1997
4.3符号表示
4.3.,符号字符的结构
每一符号字符由4个条和4个空构成,自左向右从条开始。每一个条或空包含1-6个模块。在一
个符号字符中,4个条和4个空的总模块数为17,见图2e
11卜13卜1516171819110111114131141151161171
.11
5I11111111:1215
b,肠b,b<
51允S3
图2符号字符
4.3.2码字集
四一七条码码字集包含929个码字。码字取值范围为。^928。在码字集中,码字使用应遵守下列规
则:
码字。^899:根据当前的压缩模式和GLI解释,用于表示数据。
码字900-928:在每一模式中,用于具有特定目的符号字符的表示。具体规定如下:
码字900,901,902,913,924用于模式标识,见表2;
码字925,926,927用于GLI,见4.3.7;
码字922,923,928用于宏四一七条码,见附录D;
码字921用于阅读器初始化,见4.3.8;
码字903-912,914-920保留待用。
4.3.3符号字符的簇
四一七条码符号字符集由三个簇构成,每一簇包括以不同的条、空形式表示的所有929个四一七条
码的码字。在每一簇中,每一符号字符对应唯一的码字,其范围为。^-928,附录A的表A1给出了每一
簇的符号字符的条、空序列和它们所对应的码字。
四一七条码使用簇号。,3,6,簇号的定义适用于所有四一七条码符号字符。
四一七条码符号的每行只使用一个簇中的符号字符。同一簇每三行重复一次。第一行使用第。簇
的符号字符,第2行使用第3簇的符号字符,第三行使用第6簇的符号字符,第四行使用第。簇的符号
字符,以此类推。行号由上向下递增,最上一行行号为1.
对于一个特定符号字符,其簇号由下式确定:
簇号=(b,一6z+b一b,+9)mod9
式中:bb2,bb;分别表示自左向右四个条的模块数(参见图2),
例:对于图2中的符号字符,其簇号计算如下:
簇号=(5一1+1一2+9)mod9=3
对于每一特定的行,使用的符号字符的簇号由下式计算:
簇号=「(行号一1)mod3]X3
4.3.4行指示符号字符
行指示符号字符包括左行指示符号字符(L;
)和右行指示符号字符(R;),分别与起始符和终止符相
令乃接,见图3行指示符号字符的值(码字)指示四一七条码的行号(约,行数(3-9的,数据区中数据符号
Gs/T17172一1997
字符的列数((1^-30),错误纠正等级((0-8)0a
左行指示符号字符(L;)右行指示符号字符(R)
L,(xY)RI(x),0
L,(x,,.)R,(-,Y)
1(xv)R,(xz)
L,(xy)R,(xv)
起始符L,(x,,.)R,(.,,y)终止符
I(xv)R,(xs,z)
图3左/右行指示符号字符
左行指示符号字符(L;)的值由下式确定:
r
es30x;十y当c!。时
es
.
L.
一I
一
.
.l30xi十z当c二3时
es
月
L30x十‘v当c;=6时
右行指示符号字符(Ri)的值由下式确定:
r
.30x.十v
.
当c=。时
.
l
-es
-es
30x;-+当c;=3时
月
I
L30x;+z当c,=6时
式中:x,=INT[(行号一1)/3]i=1,2,3,"""90
y=INT仁(行数一1)/3J
z=错误纠正等级X3+(行数一1)mod3
v=数据区的列数一1
c=第:行的簇号
例:如果一个四一七条码符号为3行、3列,错误纠正等级为1,那么
(LL,,L,)为(0,5,2)
(RRR,)为(2,0,5)
4.3.5模式结构
四一七条码有三种数据压缩模式:文本压缩模式((TC);字节压缩模式((BC),数字压缩模式((NC)。通
过应用模式锁定/转移(Latch/shift)码字,可在一个四一七条码符号中应用多种模式表示数据。
4.35.1模式锁定与模式转移码字
模式锁定与模式转换码字用于模式之间的切换,见表2.
1)错误纠正等级见4.6.1,
GB/'r17172一1997
表2模式切换码字表
模式模式锁定模式转移
大写字母型子模式
文本压小写字母型子模式
900
缩模式混合型子模式
标点型子模式
字节压缩模式901/924'913
数字压缩模式902
1)见第4.3.5.3,
模式锁定码字用于将当前模式切换为指定的目标模式,该模式切换在下一个切换前一直有效。
模式转移码字用于将文本压缩模式(TC)暂时切换为字节压缩模式(BC)。这种切换仅对切换后的
第一个码字有效,随后的码字又返回到文本压缩模式(TC)的当前子模式。
锁定模式可将当前模式切换成任一种模式,包括切换成当前模式,字节压缩模式下不能再用字节模
式转移。模式切换结构见图4,
M磊CAf
901/924
913/
"9!411AR1901/924W篡AAli;
--一模式转移
—模式锁定
图4模式切换
4.3.5.2文本压缩模式(TO
4.3.5.2.1子模式
文本压缩模式包括下列四个子模式:
·大写字母型子模式(Alpha)
·小写字母型子模式(LowerCase)
·混合型子模式(Mixed)
·标点型子模式(Punctuation)
子模式的设置是为了更有效地表示数据,每种子模式选择了文件中出现频率较高的一组字符组成
的字符集。在子模式中,每一个字符对应一个值((0^-29),见表3。这样可用一个单独的码字表示一个字
码字=30XH+L
式中:H,L依次表示字符对中的高位和低位字符值。
4.3.5.2.2子模式之间的切换
任何模式到文本压缩模式(TC)的锁定都是到大写字母型子模式的(Alpha)锁定,见图5。在文本压
GB/T17172一1997
缩模式中,每一个码字用两个基为30的值表示(范围为。-29)。如果在一个字符串的尾部有奇数个基
为30的值,需要用值为29的虚拟字符ps填充最后一个码字。如果在一个字节转移(码字913)之前紧接
着应用ps<29)做为一个填充,那么PS则无效。不允许紧跟在一个子模式转移之后的另一个子模式转移
或锁定。
表3GLI为。时文本压缩子模式下字符的对应值
大写字母型小写字母型混合型标点型
值
ASC,值I字符}ASCI值字符ASCI值字符IASC.值1字符
“A97a4895;
1166B98C.49土160丈
︺,67C”C05夕目62>
,J
J86n001U51八」46@
4的E011e2591
507F021rl5392
671G031g洲93
7儿H401Lll5595
837I05165596
947J061579621
0157K07183乙33
二67L801l3131
2177M901m9090
3187N旧n4444
4197O111o8585
5180P211p3501』F
6181Q311q4545
7182R411r46.46.
8183s511s63J沙63击内
9148T611t47厂厂47了
02那U71143+43
红86>118甲37%124
2287W119W42*J呀户,
2388x021x6l认jn︺
42韵y211y49跳j.1
2590z221·PI63
62一23PS23PS23SP231
822711叫韶一一11251一
rnj目朋
92Ps哪Ps
注Il,ps,.I,al,pl。,用于子模式切换.
竺‘
cB/T17172一1997
任何模式至文本
模式的锁定(900
-一子棋式转移
一子模式锁定
I=锁定为小写字母型子模式
Pa=转移为标点型子模式
ml二锁定为混合型子模式
al=锁定为大写字母型子模式
P1=锁定为标点型子模式
a-转移为大写字母型子模式
图5描述子模式的切换结构
4.3.5.3字节压缩模式(BC)
字节压缩模式通过基256至基900的转换,将字节序列转换为码字序列。
对于字节压缩模式,有两个模式锁定((901,924)。当所要表示的字节总数不是6的倍数时,用模式锁
定901;当所要表示的字节总数为6的倍数时,用模式锁定924,
在应用模式锁定924的情况下,6个字节可通过基256至基900的转换用5个码字表示,从左到右
进行转换。
例:一个二位16进制的数据序列01H,02H,03H,04H,05H,06H(H代表十六进制)可表示为一个
码字序列924,1,620,89,74,846,
因为有6个数据单元,第一个码字选用字节压缩模式锁定码字924,该6个数据字节到5个码字的
转换由下式给出:
1X256,+2X2564+3X256,十4X2562十5X256+6=
1X900,+620X9003+89X9002+74X900+846
当所要表示的字节数不是6的倍数时,必须使用模式锁定码字901,前每6个字节的转换方法与上
述方法相同,对被6整除所剩余的字节应每个字节对应一个码字,逐字节用码字表示。
例:数据序列01H,02H,03H,04H,05H,06H,07H,08H,04H共9个字节,可将其转换为码字序列
901,1,620,89,74,846,7,8,4表示。
其中:第一个码字901为字节数不是6的倍数时的字节模式锁定码字,
前6个字节应用基256至900的转移,字节转移方法与上面所述方法相同;
剩余的字节07H,08H,04H,每个码字对应一个字节,依次直接表示。
模式转移913用于从文本压缩模式(TC)到字节压缩模式((BC)4WBfMk##U_
4.3.5.4数字压缩模式(NC)
数字压缩模式是指从基10至基900的数据压缩的一种方法.GLI为。时.‘4、_7;、_9rtc}rFf1x田
十数据位数的压缩。数字值的映象见表4。
数字压缩模式能把约三个数字位((2.
93)用一个码字表示。尽管在任意数字长度下都可应用数字压
缩模式,一般推荐当连续的数字位数大于13时用数字压缩模式,否则应用文本压缩模式。
Gs/'r17172一1997
表4数字压缩模式下的数字值映象
数字ASCII值GLIO字符
门
48八曰
I
1
王
49
n
,
︸50户
51的舀
52任月
535
54h﹃
55l了
56R
57OJ
在数字模式下,将根据下述算法对数字位进行编码:
1)将数字序列从左向右每44位分为一组,最后一组包含的数字位可少于44个。
2)对每一组数字:
首先在数字序列前加一位有效数字1(即前导位),然后执行基10至基900的转换。
例:数字序列000213298174000的表示。
首先,对其进行分组。因它共有15位,故只有一组;
其次,在其最左边加1,将得到数字序列1000213298174000;
最后,将其转移成基900的码字序列,结果为1,624,434,632,282,200,
译码算法与编码算法相反:
1)将每15个码字从左向右分为一组(每15个码字可转换成44个数字位),其最后一组码字可少
于15个。
2)对于每一组码字:
先执行基900至基10的转换;
然后去掉前导位1,
对上述实例,因只有6个码字,故仅能分为1组。其转换为:
1X900,十624X900"+434X9003+632X9003十282X900+200=
1000213298174000
去掉前导位1得:000213298174000
4.3.6数据编码
_竺据区中的第一个码字是符号长度值,它表示数据码字包‘括符号长度码字,的个数。模式结构的应
钾从第竺码字妙。文本模式的大写字母型子模式和GLIO(见4.3.7.3)姗对每一符号的起菇漏
效产符号中产模式可按本章给出的模式锁定或模式转移码字进行切换,GLI可按4.'17进而燕
4.3.6.1在文本压缩模式中,每一码字由表3中的两个基为30的值表示,计算方法见4.3.众1.}
例:字符串A“d:102"可以编为字符序列A,I1,d,ml,:,1,0,2.一
其中:11为小写字母型子模式锁定
ml为混合型子模式锁定。
:)。籍霭呈夏翼蒙算着拿暮馨算霎纂辜一。,27,3,28,14,1,0,2).分“组为0,2‘7),(3,28),’‘,”‘,。,‘
(0X30+27,3又30十28,14X30+1,0X30+2)=(27,118,421,2)
其结果6个字符通过子模式切换机制用4个码字来表示。
4.3.6.2通过应用锁定和转移的不同压缩,可用不同的码字序列表示同一个数据字符串。
例:输入(一个4个字符的ASCII串):<j><ACK><p><q>
128
GB/T17172一1997
输出(序列ll:(<H><j>)(<913>)(<ACK>)(<p><q>)
(序列2);(<901>)(<j>)(<ACK>)(<p>)(<q>)
相对应的码字为:
序列1:819,913,6,466
序列2:901,106,6,112,113
序列1是先从小写字母型文本子模式转移到字节压缩模式,然后又返回到小写字母型文本子模式;
序列2是仅应用字节压缩模式。
4.3-6.3四一七条码符号的形状为矩形,当码字的总数不能正好填充一个矩阵时,用码字900作为虚
拟码字填充。虚拟码字填充必须放在可选的宏四一七条码控制模块和错误纠正码字之前。
4.3.7全球标记标识符(GLI)
全球标记标识符的表示形式为GLIy,y的取值范围为。^-811799。在符号中,用相应的码字序列来
表示并激活一组解释,这组解释对由数据压缩模式表示的数据流赋予一定的含义,直至下一个G(I1,否
则在符号结束之前一直有效。
4.3.7.1GLI值及码字序列
当Y为。-899时,对应的码字序列为:927,Gl(GI=y);
当y为900^-81089,时,对应的码字序列为:926,G2,G3[(G2+1)X900+G3=y];
当y为810900^-811799时,对应的码字序列为:925,G4(810900+G4=y);
以上G1,G2,G3,G4为。^899之间的码字。
4.3.7.2GLI应用
GIRO-GLI899用于国际字符集;
GLI900-GLI81089,用于通用目的;
GLI810900-GLI811799用于用户自定义。
在一个四一七条码符号中可应用多重GLI,
4.3.7.3GLIo(缺省的GLI)
四一七条码符号缺省的GLI值为。。在起始位置,不需要GLI码字序列来激活这种缺省解释;如果
当前的GLI值不为。,并希望使用GLIO解释,那么可使用码字序列927,0将其转换为缺省解释。
当GLI值为。时,字节值的解释由表5给出。
4.3.7.4GLI1
GLI1分配给GB/T15273.1中所规定的字符集。
4.3.8阅读器初始化指示符
码字921用于对阅读器的初始化或编程,它必须紧跟在符号长度码字之后放置。当用宏四一七条码
对阅读器初始化时,在每一个符号中均须设置码字921.
包含在一个初始化符号或符号序列中的数据不通过阅读器输出。
4.4起始符和终止符
四一七条码的起始符和终止符是唯一的。自左向右由条开始,起始符的条、空组合序列为
81111113,终止符的条、空组合序列为711311121
4.5空白区
空白区位于起始符之前,终止符之后,第一行之上,最后一行之下
空白区最小宽度为2个模块宽。
车b六错误检测与纠正
每一个四一七条码符号至少包含两个错误纠正码字.用于符号的错误检测与纠正。
本已了错误纠正等级
四一七条码的错误纠正等级可由用户选择。每种错误纠正等级所对应的错误纠正码字数目见表se
GB/T17172一1997
4.6.2错误纠正容量
对于一个给定的错误纠正等级,其错误纠正容量由下式确定:
e+2t簇d一2=2'‘一2
式中:e—拒读错误数目;
t—替代错误数目;
s—错误纠正等级;
d一一错误纠正码字数目。
表5GI.I0字符集的十进制值
值字符值字符值字符值字符值字符值字符值字符
NUL吧%47J嘿o们0场引”傲1
SOH眯以&,6757KL陆pq犯仁u6.满871﹃朋恻.以
STX
ETX阮以)(8777MN院即rs朽化Uy·诩佃J刃扔哪pr
EOT
U肉‘ENO陌+.9780po巨ut朽51U0州阴,日822勿皿1
ACK
,了日EL阵冈,,82川QR优腼wv巧51.£傀阴‘‘922023林口
BS
01HT陛以/.4s83Ts胭xy巧51Pl>.491伤甲卜脚溯,中
LF
”VT瑞085U胭Z51f踢-+拙e
2131FF阮218687WV421公.16161.‘971佃卜423翔Q石
CR
4151SO腿川43B989xy饰仍.,6161U6·栩胡仆卜脚绷:
Si
6171OLE53“6590引zl821271DE‘61侣。目侧欲厅巴翎255八‘
DC1
8191DC26555879293]\切栩u.佑619几402翔-片丫402421.1
DC3
02DC457949<训自伯‘025二422之
创22NAK95阳95961,切仪a.﹄切很Lr猫即LJ-工423442(‘
SYN
4223ETS60日V-工97兜ba431351含‘亿梢火.I,802902LJ二425462+]
CAN
6225BSI6263?>切99Cd汤371色e亿711,细川-r让427482b.
SUB
8227ESC““AO做训r产...831佣:块讯.川吮下﹄翻492:
FS
9266B切401仍421﹀
.
们
.1r
GS
4303别2333URS二I曰nnr合e曰86966707洲DFGC£401肠肠071佃j阮n|﹄421431441451.11A再.忍1,仇仇彼彼训摊琦引,|翎绷晰晰叩TLJrJ.下占翻脚州晰n-Z
6335户声」2737HI切011mn4614710正‘椒诩1﹃022勿-1
错误纠正码字的总数为2’斗1其中,两个用于错误检测;其余的错误纠正码字用于错误纠正。
用一个
错误纠正码字恢复一个拒读错误,用两个错误纠正码字纠正一个替代错误。
当被纠正的替代错误数目小f4时(:=。除外),错误纠正容量由下式确定
e+2t粗d一3
jar
GB/T17172一1997
例:一个错误纠正等级为3的四一七条码符号能纠正31个拒读错误或7个替代错误,或者为e和t
的各种组合,但必须满足上述纠正容量条件。
表6四一七条码的错误纠正等级
错误纠正等级}错误纠正码字数目
2
4
8
61
23
46
821
625
251
4.6.3错误检测与错误纠正码字的计算
对于一组给定的数据码字,错误纠正码字根据Reed一osolmno错误控制码算法计算。
第一步:建立符号数据多项式
符号数据多项式如下:
d(x)=d,一lx一’+d,_:x时一2+…+dlx+d。
式中,多项式的系数由数据码字区中的码字组成。其中包括符号长度码字,数据码字,填充码字,宏
四一七条码控制块。每一数据码字(苗,1=0..·,一2,n一)1在四一七条码符号中的排列位置见图6。
…,
L。}R。
口a翻!袱粼曰嚣价
}拼.拼,井:丫、厂Rl
起拼资拼汽.二性伙.份_“:“__一_厂丫_万万厂厂几::_“:六洁:「卜介侧六-终
始止
几厂器人丫丫几胃几、二丫气认六气苗J厂丫J下_了厂丫厂,八几飞户汽几刃一‘了爪了一几万厂几飞几认
符—飞几—几几少尸气几气伙沂一几万下几几J几一J气_f厂尸厂刀几一几几符
}民分扮几一一1拼娜妙1R._2
一。。一,一}
L一}R一〕
一}一籧一cl}
图6数据、行标识符及错误纠正
第二步:建立纠正码字的生成多项式
k个
定制服务
推荐标准
- GB/T 22291-2017 白茶 2017-11-01
- GB/T 22720.1-2017 旋转电机 电压型变频器供电的旋转电机无局部放电(Ⅰ型)电气绝缘结构的鉴别和质量控制试验 2017-11-01
- GB/T 23002-2017 信息化和工业化融合管理体系实施指南 2017-11-01
- GB/T 24149.2-2017 塑料 汽车用聚丙烯(PP)专用料 第2部分:仪表板 2017-11-01
- GB/T 22267-2017 孜然 2017-11-01
- GB/T 23113-2017 荧光灯含汞量检测的样品制备 2017-11-01
- GB/T 22305.1-2017 小豆蔻 第1部分:整果荚 2017-11-01
- GB/T 22159.5-2017 声学与振动 弹性元件振动-声传递特性实验室测量方法 第5部分:弹性支撑件低频平动动刚度的驱动点测量方法 2017-11-01
- GB/T 22292-2017 茉莉花茶 2017-11-01
- GB/T 22305.2-2017 小豆蔻 第2部分:种子 2017-11-01