GS1-128条形码中如何使用FNC1功能字符
条形码GS1-128的编码是基于Code128编码,不同的是GS1-128定义了数据的格式,而Code128的数据格式就自由得多,只要输入字符在允许的字符范围内,没有任何要求。
由于Code128有A\B\C三个字符集,因此,GS1-128也有A\B\C三个字符集,只是GS1-128条形码基本上都是数字组成,因而广泛使用的是 Code C 字符集。
上图条形码编辑工具来源于条形码生成器,无须任何安装,点击即可在线使用。
为什么GS1-128条形码会规定数据格式?
GS1-128条形码初衷是定义一种应用在商品交易、物流流通中的条形码,可以扫码就能读取商品货物的属性数据。而问题是如何让全球的扫码设备都能读懂GS1-128条形码?因此GS1-128条形码就定义了数据格式,按照GS1-128数据格式生成条形码,任何扫码设备都能读取。
GS1-128条形码的数据格式
举个例子,一串字符是“(姓名)张三(身高)175(生日)20230101”,意思是姓名是张三;身高是175cm;生日是2023-01-01。
类似这串字符“(姓名)张三(身高)175(生日)20230101”就是GS1-128的数据格式,例如GS1-128数据是“(8005)000365(10)123456”,(8005)表示单价,后面的数字是单价的数据,例如365元;(10)表示批号,后面紧接着的数字就是商品的批号123456。
如果不考虑条形码长度,可以添加多项信息,扫码设备扫一下,就能将里面所有信息一次读取,而且还知道每一项信息的含义。
上面示例中的(8005)、(10),叫“应用标识”,国际物品编码协会定义了一系列这种应用标识。
GS1-128条形码中如何使用FNC1功能字符
上面的内容是多零为了讲清楚FNC1功能字符而额外讲述的铺垫。回到主题,在GS1-128条形码中有两个地方是必须使用到FNC1功能字符。
-
用于区分Code128条形码
上面铺垫内容提到,GS1-128是使用Code128作为基础编码的,为了区分两种码制,GS1-128定义在条形码的开始符后,紧接添加功能字符FNC1,表示是GS1-128编码,作用是告诉扫码设备使用GS1-128编码识别条形码内容,而Code128的开始符后面是没有FNC1功能字符的。
上图摘抄自GS1-128标准文档《GBT15425-2014》。
-
作为数据可变长度的结尾标志
由上面的铺垫内容可以知道GS1-128的数据格式,但是有可能其中一项数据的长度是变化的,不固定,那么扫码设备如何知道应用标识对应的数据有多少个字符呢?
例如“(姓名)张三(身高)175(生日)20230101”,“身高”“生日”的数据字符长度是固定的,但是“姓名”就不固定,对应的数据是“张三”,但是也有可能是“西门吹雪”或者“Michael Joseph Jackson”。
因此GS1-128就规定以FNC1作为可变长度数据的结尾标志,以上的示例中,数据应是“(姓名)张三{FNC1}(身高)175(生日)20230101”,“张三”后面加了FNC1功能符,告诉扫码设备“姓名”这一项读完了,后面是下一个应用标识了。
上图摘抄自GS1-128标准文档《GBT15425-2014》。
以上内容是多零条形码对GS-128的FNC1功能字符的使用总结,如果有不正确的地方,请反馈给多零以更正,感谢。
---------------
了解更多: 如何理解条形码Code128中的功能符FNC1、FNC2、FNC3、FNC4? 如何添加GS1-128的分隔符FNC1