如下表1.1中列出了常用编码规则之间的特征对比。最新国家或地区前缀码见附件一。·若此步判定失败,则报错,另行处理。若存在标识符[FNC1],则判定为GS1-128条码,否则进入下一步;若没有标识符[FNC1],则判定为Code-128条码。下次的文章中我们将逐个介绍常见编码规则的主要内容及条码解析流程。
哈喽,大家好,条码在物流管理中的作用不可忽略,关于条码的类型和怎么识别条码内容,花了些时间给大家搜集分享下。喜欢的可以关注少年负壮气(snfzq0315)。
闲话少说,直接看下面内容吧:
1 条形码简介
条形码(BarCode)是指将宽度不等的黑条(简称条B)与空白(简称空S),按照一定的编码规则排列成一组平行线图案,用以表达一组信息的图形标识符。条形码可标出物品的生产国、制造商、名称、日期、图书分类号、邮件起止地点、类别、价格等许多信息,因而在商品流通、图书管理、邮政管理、银行系统等诸多领域得到了广泛的应用。
1.1 标准条形码组成成分
标准的条形码格式
如上图所示为标准的条形码格式,其组成成为主要有:
左右空白区:保证设备正确获取完整的条码信息;
起始符:位于条码首位,具有特殊结构,当设备读取该字符时,表明开始获取条码信息;
数据符:条形码核心内容,可由数字、字母、特殊字符等组成;
校验符:校验读取信息是否正确,位于数据符之后,不同编码规则校验符计算方法不同;
终止符:位于条码末位,具有特殊结构,当设备读取该字符时,表明获取条码信息完成;
黑条B与白空S:通过宽窄不同的条空组合表示不同的字符;
条空常见尺寸(宽度)类型:
二进制:2种尺寸,粗为1、细为0;如ITF-14、CodaBar、Code39等;
多级制:4种尺寸,从细到粗分别为1、2、3、4;如EAN-8/13、UPC-A/E、Code-128、EAN-128、HIBC等。
字符类型:数字、字母、符号、特殊字符等;
1.2 常见条码规则的差异对比
目前,全世界共有约100种条码规则,不同条码规则之间的区别在于起止符、条空尺寸、编码方式、校验位计算方法等的不同。因此,无论是人工区分不同的条码规则,还是机器识别不同的条码规则,都可以依据条码规则之间的差异性来进行。如下表1.1中列出了常用编码规则之间的特征对比。
表1.1 常用编码规则及其特征描述
1.2.1 条码编码区分:
不同编码规则下的条码可根据以下总结的几点内容进行区分:
① 起止符、支持字符类型
条形图案、纯数字:EAN-8、EAN-13、UPC-A、UPC-E、ITF-14
字符符号、数字/字母/符号:CodaBar、CODE-39、CODE-128、GS1-128、HIBC
② 起止符类别
CODE-39:起止均为“*”
CODE-128:起为“Start A/B/C”,止为“Stop”
GS1-128:起为“Start A/B/C FNC1”,止为“Stop”
CodaBar:起止均为“A/B/C/D或a/b/c/d”
HIBC:开始字符均为“ ”
③ 字符串宽度
8位: EAN-8、UPC-E
12位:UPC-A
13位:EAN-13
14位:ITF-14
任意位:CodaBar、CODE-39、CODE-128、GS1-128、HIBC
1.2.2 条码规则识别:
① EAN-8/13、UPC-A/E
第一步,根据是否有间隔符判断为EAN-8/13或UPC-A/E条码?(思路:图像识别)
如上图所示UPC码与EAN码,这两种规则下的条码与其它规则条码有一个很明显的区别,在于UPC或EAN条码中都有一个凸出来的分隔符,且首、中、尾位置的线条均有凸出来的部分,因此,可否通过图像识别方式判别条码为UPC码或EAN码?
· 若识别成功,条码首、中、尾部均有凸出的部分,则判定为EAN或UPC条码,否则,为其它类型条码;然后进入下一步;
第二步,在成功判定为EAN或UPC条码的前提下,进一步根据设备扫描到的数据对具体码制进行判别?
· 如果字符串第一个字符为“0”,则判定为UPC码,否则进入下一阶段;
· 截取字符串前2位或3位(2位代码与3位代码的“前两位”无重复),与国家代码进行循环比对,比对成功则确定为EAN条码,并可据此确定该条码所代表物品的具体类型(如商品、图书、汇款、券等);国家统一代码如下图所示。最新国家或地区前缀码见附件一。
· 若此步判定失败,则报错,另行处理。
表1.2 国家/地区代码
② ITF-14
③ CodaBar
④ Code-39
如图为Code39规则下的条码,根据Code39的编码规则可知,在Code39编码规则下,条码中的每个字符由9个条空组合而成(5个黑条 4个白空),且每个字符间有固定宽度的的间隔符(即固定宽度的白条)。
⑤ Code-128、GS1-128
Code128与GS1-128具有相同的编码规则,二者唯一的区别在于GS1-128条码中增加了一个附加的应用标识符[FNC1],在数据中的体现如上右图中的“(01)”。
由于设备扫描得到的数据中没有机器可识别的明显特征,但Code128、GS1-128条码中拥有独特的起止符(Start A/B/C、Stop)与应用标识符([FNC1]),因此,目前可考虑从扫描设备角度出发,识别条码中起止符与应用标识符,具体思路如下:
当设备扫描条码时:
· 识别条码起、止位置的字符,如果起始位置为Start A/B/C、结尾位置为Stop,则判定该条码规则为Code-128或GS1-128,否则,视为为其它类型条码;然后,进入下一步;
· 进一步的判别,是否具有标识符[FNC1]?
若存在标识符[FNC1],则判定为GS1-128条码,否则进入下一步;
若没有标识符[FNC1],则判定为Code-128条码。
下次的文章中我们将逐个介绍常见编码规则的主要内容及条码解析流程。
感兴趣的可以关注公众号(少年负壮气:snfzq0315),或者识别下方二维码关注