如何解析读取Code128条形码的内容?
条形码大概有100多种码制,其中CODE128码制使用非常广泛,原因是CODE128定义了比较多的可用字符,最大范围是ASCII码共128个字符。
大量的可用字符,可以灵活适用于广泛的业务应用,例如字母数字组合、符号字母组合、数字符号组合等。
那么,如何理解CODE128的生成原理?
或许,从解析读懂CODE128条形码的角度出发,可能会更加轻松容易理解。
CODE128的一些规则
- 每条条纹(黑纹和白纹)的单位宽度表示1个数字,每6个数字分为1组,每组内的数字相加等11,即【6块11条】;
- 每条条纹的单位宽度最小是1,最大是4;
- 每组数字表示条形码内容中的1个字符;
- 开始第1组数字,表示起始符,指示该条形码所用的字符集;
- 最后1组数字,表示终止符,指示条形码已读取完毕,此组数字比较特殊,共7位数,并且固定是2331112,也仅此1组是7位数,其他每组均是6位数;
如何解析CODE128
第1,肉眼识别每一条条纹的单位宽度,此单位宽度标为1个数字;
第2,将标出来的数字,按照【6块11条】进行分组,即每6个数字分为一组;
第3,用第1组数字,确定所用的字符集(字符集A:211412,字符集B:211214,字符集C:211232);
第4,再根据其他组数字,查询第3步确定的CODE128条码字符集表,每组数字对应的字符,每个字符组合起来就是条形码的实际内容(排除最后的校验码和终止符的这两组数字);
如果上面的内容没有看明白,没关系,下面多零条码举个简单的例子,讲解如何人工读取条形码的内容。
举个例子
下面这个是使用条形码生成工具生成的CODE128的条形码,经过以下几个步骤就能解析读取条形码的实际内容。
上图条形码编辑工具来源于条形码生成器,无须任何安装,点击即可在线使用。
首先,确定条形码每条条纹的单位宽度,并标注出来。
如果不清楚怎么确定单位宽度,可以寻找条纹中最小的那条条纹的宽度就是1个单位宽度,其他条纹宽度均是单位宽度的倍数,倍数即是单位宽度。
以上图示中,一共有25条条纹(黑纹和白纹),即一共有25个数字,按照每6个数字为1组分组数字,最后1组是终止符,7位数,如下图。
第1组数字是211412,它是起始符,指示该条形码是使用哪种字符集生成。
字符集A:211412,字符集B:211214,字符集C:211232,对照可确定是字符集A。
然后,第2组数字是123221,从CODE128的字符集A对应表中,查到该组数字对应的字符是【1】。
最后,第3组数字,即倒数的第2位数字,是校验码,用于验证是否解析正确;最后1位是终止符,固定为2331112,这里不用解析。
因此,以上示例的条形码实际内容是【1】。
这个例子中,条码内容只是1,只有1个字符,对于内容比较多字符比较多的条形码,也是同样的配方同样的流程,每一组数字逐个查询字符集表而获得。
那么,条形码是如何生成的?
以上讲解的是如何解析读取条形码的内容,反过来,就是条形码的生成原理。
CODE128条码字符集哪里获取?
网络上可以查找到很多CODE128的字符集相关的信息,但是如果希望找正式的官方文档,可以查找国际标准【ISO/IEC 15417:2007】的文档,或者国内对等的标准【GBT 18347-2001】的文档。
如果难以找到以上两个标准的可下载的PDF文档,也可以参考国家标准文档《GB/T 15425-2014》,此标准使用与CODE128相同的字符集。
---------------------
如果希望批量解析条形码内容,可以使用多零提供的条形码的解析工具,无须安装,在线批量解析,https://y56y.com/barcodedecode。
---------------
了解更多: 如何计算条形码Code128校验码 以手工绘制为示例,讲解如何制作一个Code128的条形码 为什么条形码Code128终止符是7位数字 为如何将特殊符号写入Code128条形码中
由于持续版本迭代,本文涉及的功能内容和界面截图可能没有及时更新,文章内容可能会有差异,以最新版本的功能为准。
文章来源于多零标签,未经同意,请勿转载。