条形码格式

条形码格式

  • 简述
  • EAN码
    • EAN-13
    • EAN-8
  • UPC码
    • UPC-A
    • UPC-E

简述

EAN码

  • EAN码(European Article Number)是国际物品编码协会制定的一种全球通用的商用条码。EAN码分为:标准版(EAN-13) 和 缩短版(EAN-8) 两种。EAN-13 由 12位数据 + 1位校验组成,EAN-8 由 7位数据 + 1位校验位组成。

EAN-13

  • EAN13码由13位数字构成,第一位为前置码,最后一位为校验码。条码格式如下:
    在这里插入图片描述
  • 区域划分:
左侧空白区起始符左侧数据符中间分隔符右侧数据符校验符终止符右侧空白区
11个模块3个模块42个模块5个模块35个模块7个模块3个模块7个模块
  • 代码划分:
国家代码厂商代码产品代码校验码
3位数字4位数字5位数字1位数字
  • 编码解析:
  1. 左侧空白区:
    位于条码的最左侧,其最小宽度为11个条形模块宽度

  2. 前置码:
    前置码是不用条码符号表示的,功能是做为左侧数据符的编码设定之用。前置码是国家代码的第1位数字。

  3. 起始符:
    位于左侧空白区的右侧,表示信息开始的特殊符号,由3个条形模块组成,逻辑为101(1代表细黑,0代表细白)。

  4. 左侧数据符:
    位于起始符号右侧与中间分隔符左侧的一组条码字符。表示6位数字信息,由42个条形模块组成,每个数字对应7个条形模块。左侧数据符有A、B两类编码,通过前置码来选择左侧数据符选择的编码逻辑。
    编码逻辑 :

前置码编码方式前置码编码方式
0AAAAAA1AABABB
2AABBAB3AABBBA
4ABAABB5ABBAAB
6ABBBAA7ABABAB
8ABABBA9ABBABA

A、B类编码说明:

数字A类编码B类编码
000011010100111
100110010110011
200100110011011
301111010100001
401000110011101
501100010111001
601011110000101
701110110010001
801101110001001
900010110010111
  1. 间分隔符:
    位于左侧数据符的右侧,是平分条码字符的特殊符号,由5个条形模块组成,逻辑方式为01010(1代表细黑,0代表细白)。

  2. 右侧数据符:
    位于中间分隔符右侧,校验符左侧的一组条码字符。表示5位数字信息的一组条码字符,由35个条形模块组成,每个数字对应7个条形模块。右侧数据符使用C类编码。

C类编码说明:

数字C类编码
01110010
11100110
21101100
31000010
41011100
51001110
61010000
71000100
81001000
91110100
  1. 校验符:
    位于右侧数据符的右侧,表示校验码的条码字符,由7个条形模块组成。

13位条码序号:

N1N2N3N4N5N6N7N8N9N10N11N12C

校验码计算规则:
C1 = N1 + N3 + N5 + N7 + N9 + N11;
C2 = (N2 + N4 + N6 + N8 + N10 + N12)*3;
CC = (C1 + C2)%10;
C = 10 - CC;
if(10 == C)
C = 0;

  1. 终止符:
    位于条码符号校验符的右侧,表示信息结束的特殊符号,由3个条形模块组成,逻辑方式为101(1代表细黑,0代表细白)。

  2. 右侧空白区:
    位于条码符号最右侧的与空的反射率相同的区域,其最小宽度为7个条形模块宽。为保护右侧空白区的宽度,可在条码符号右下角加“>”符号。

EAN-8

  • EAN8条码由8位数字组成,3位国家代码+4位产品代码+1位校验码。
    在这里插入图片描述
  • 区域划分:
左侧空白区起始符左侧数据符中间分隔符右侧数据符校验符终止符右侧空白区
7个模块3个模块28个模块5个模块21个模块7个模块3个模块7个模块
  • 代码划分:
国家代码产品代码校验码
3位数字4位数字1位数字
  • 编码解析
    EAN8使用的编码和EAN13的相同, 唯一的不同点是EAN8编码没有使用前置码来决定左资料码的编码格式。EAN8编码左资料编码使用的是A类编码。

UPC码

UPC-A

  1. 概述:
    UPC-A 条码是美国较常用也较被广泛认可的条码类型。它主要用于零售行业。UPC-A 由统一杂货产品代码委员会与 IBM 联合开发。
  2. 条形码组成
    UPC-A 条码由 12 位组成。开头是个单数字系统字符,指示条码的分类方式:普通产品、加权项目、药物、优惠等。后面是个五位的制造商代码,接下来是个五位的产品代码,最后是个校验位。每位由不同宽度的两个条纹和两个空格的独有标识样式表示。除了数字之外,不能使用任何字母或其他特殊字符。条码格式如下:
    在这里插入图片描述
  • 区域划分:
左侧空白区起始符左侧数据符中间分隔符右侧数据符校验符终止符右侧空白区
9个模块3个模块42个模块5个模块35个模块7个模块3个模块9个模块
  • 代码划分:
系统字符厂商代码产品代码校验码
1位数字5位数字5位数字1位数字
  1. 编码解析:
  • 左侧空白区
    位于条码的最左侧,其最小宽度为9个条形模块宽度

  • 系统字符
    开头是个单数字系统字符,指示条码的分类方式:普通产品、加权项目、药物、优惠等。

  • 起始符
    位于左侧空白区的右侧,表示信息开始的特殊符号,由3个条形模块组成,逻辑为101(1代表细黑,0代表细白)。

  • 左侧数据符
    位于起始符号右侧与中间分隔符左侧的一组条码字符。表示6位数字信息,由42个条形模块组成,每个数字对应7个条形模块。左侧数据符使用A类编码。

  • 中间分隔符
    位于左侧数据符的右侧,是平分条码字符的特殊符号,由5个条形模块组成,逻辑方式为01010(1代表细黑,0代表细白)。

  • 右侧数据符
    位于中间分隔符右侧,校验符左侧的一组条码字符。表示5位数字信息的一组条码字符,由35个条形模块组成,每个数字对应7个条形模块。右侧数据符使用C类编码。
    A、C类编码说明:

数字A类编码C类编码
000011011110010
100110011100110
200100111101100
301111011000010
401000111011100
501100011001110
601011111010000
701110111000100
801110111001000
900010111110100
  1. 校验符
    位于右侧数据符的右侧,表示校验码的条码字符,由7个条形模块组成。
    12位条码序号:
N1N2N3N4N5N6N7N8N9N10N11C

校验码计算规则
C1 = (N1 + N3 + N5 + N7 + N9 + N11)*3;
C2 = N2 + N4 + N6 + N8 + N10;
CC = (C1 + C2)%10;
C = (10 - CC)%10;

  1. 终止符
    位于条码符号校验符的右侧,表示信息结束的特殊符号,由3个条形模块组成,逻辑方式为101(1代表细黑,0代表细白)。

  2. 右侧空白区
    位于条码符号最右侧的与空的反射率相同的区域,其最小宽度为9个条形模块宽。

UPC-E

  1. 概述
    UPC-E码又称UPC缩短码,是UPC-A码的简化模式,UPC-E商品条码不含中间的分隔符,从左到右是有左侧空白区、起始字符、数据字符、终止字符、右侧空白区,以及供人识别的字符组成。
  2. 条码的组成
    UPC-E有8位数字构成 , 1位系统字符 + 6位数据字符 + 1位检验字符。条码格式如下:
    在这里插入图片描述
  • 区域划分:
左侧空白区起始符数据符校验符终止符右侧空白区
9个模块3个模块42个模块7个模块6个模块9个模块
  • 代码划分:
系统字符数据字符校验码
1位数字6位数字1位数字
  1. 编码解析
  • 左侧空白区
    位于条码的最左侧,其最小宽度为9个条形模块宽度
  • 系统字符
    系统字符是不用条码符号表示的,系统字符不是 0 就是 1 。
  • 起始符
    位于左侧空白区的右侧,表示信息开始的特殊符号,由3个条形模块组成,逻辑为101(1代表细黑,0代表细白)。
  • 数据符
    数据符有6位数字信息,由42个条形模块组成,每个数字对应7个条形模块。数据符有A、B两类编码,通过校验码来选择数据符选择的编码逻辑。
  • 校验码
    校验码也不用条码符号表示,主要功能是用于数据字符的编码逻辑选择。
  • 终止符
    表示信息结束的特殊符号,由6个条形模块组成,逻辑为010101(1代表细黑,0代表细白)。
  • 右侧空白区
    位于条码的最右侧,其最小宽度为9个条形模块宽度

编码逻辑:

校验码系统字符为 0系统字符为 1
0BBBAAAAAABBB
1BBABAAAABABB
2BBAABAAABBAB
3BBAAABAABBBA
4BABBAAABAABB
5BAABBAABBAAB
6BAAABBABBBAA
7BABABAABABAB
8BABAABABABBA
9BAABABABBABA

A、B类编码说明:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/173595.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

“yum history”命令示例,用于显示、回滚、重做、撤消 yum 事务

yum 的“yum history”功能是 Linux 中一个经常被忽视但非常强大的实用程序。它可用于将 yum 事务回滚/重做/撤消到一切正常的状态。 yum history “yum history list”命令在不带任何参数的情况下运行时会产生类似于下图所示的输出。“yum history”或者“yum history list”…

不会提问不打紧,不敢提问才要命

最近在星球里回答了球友提出来的一些问题,我都给了回复,不经过在明确问题、探索问题的过程,对我启发挺大,特此来记录下感受和感悟。 缘起 最近新加入球友提的问题,有几次,我第一时间没看懂,甚…

基于自然语言处理的地铁工程车辆故障智能诊断研究

源自:《兵器装备工程学报》 作者:严硕, 徐永能, 何文韬 “人工智能技术与咨询” 发布 摘要 针对地铁工程车辆故障文本数据未得到合理利用的现象,提出了一种基于自然语言处理的故障智能诊断方法。该方法对故障文本进…

Servlet自定义异常处理类

话不多说,直接上代码。。。 异常处理类GlobalExceptionHandler public class GlobalExceptionHandler {ExceptionHandler(UnknownServiceException.class)public static void UnknownServiceExceptionHandle(Exception ex, HttpServletRequest request, HttpServ…

交流回馈负载的主要工作方式

交流回馈负载是一种电力电子装置,其主要工作方式是将电能从交流电源转换为直流电,然后再将直流电转换为交流电。这种转换过程是可逆的,因此可以用于调节电网的电压和频率,提高能源利用效率,减少能源浪费。 交流回馈负载…

Java(八)(可变参数,Collections,小案例:斗地主游戏小案例:斗地主游戏,Map集合,Stream流)

目录 可变参数 Collections 小案例:斗地主游戏 Map集合 Map的常用方法 map集合的遍历 键找值 键值对 Lambda 表达式 HashMap底层原理 集合的嵌套 Stream流 获取集合或数组的Stream流 Stream流的方法 可变参数 就是一种特殊的形参,定义在方法和构造器的形参列表中,…

小吉和希亦内衣洗衣机选哪个好?小型洗衣机测评对比

在生活质量不断提高的今天,人们对健康、卫生的要求也日益提高。内衣是女性的贴身衣物,它的清洁和卫生是非常重要的。尤其是小孩的衣服,毛巾,袜子等要分开洗,这样就不会和大人的衣服一起洗了,更加的卫生和方…

专业课问题 | 667和972问题集锦

专业课备考问题集锦 表1是我最近收集的667相关问题: 表1 667相关备考问题与简要回答 类型序号问题回答关于背书1整本书已经背了N轮了,后期只可以背诵知识清单吗?背书的总体思路:看书(1-2遍)——>知识清单(N轮循环,掌握90%的知识点)——>看书(1-2遍)2后面五个…

java-netty知识点笔记和注意事项

如何获取ctx的id 使用ctx.ctx.toString()就可以了 public void channelRead(ChannelHandlerContext ctx, Object msg) {//传来的消息包装成字节缓冲区String byteBuf (String) msg; // ByteBuf byteBuf (ByteBuf) msg;//Netty提供了字节缓冲区的toString方法&#xff…

Android 虚拟机与类加载机制

1、Dalvik 虚拟机 Android 应用程序运行在 Dalvik/Art 虚拟机上,并且每一个应用程序都有一个单独的 Dalvik/Art 虚拟机实例。 1.1 JVM 与 Dalvik Dalvik 虚拟机也算是一个 Java 虚拟机,它是按照 JVM 虚拟机规范实现的,二者的特性差不多&am…

Springboot 使用 RabbitMq 延迟插件 实现订单到期未支付取消订单、设置提醒消息

示例业务场景: 场景1:客户下单后,15分钟内未支付取消订单! 场景2:客户下单支付成功后,5分钟内商家未处理订单,需要推送一条消息提醒商家。如依旧未处理,则需要每隔2分钟消息提醒一下…

STL常用算法-C++

概述&#xff1a; 算法主要是由头文件 <algorithm> <functional> <numeric> 组成。<algorithm> 是所有 STL 头文件中最大的一个&#xff0c;范围涉及是比较、交换、查找、遍历操作、复制、修改等等。<functional> 定义了一些模板类&#xff0c;…

机器人制作开源方案 | 网球自动拾取机

作者&#xff1a;柳文浩、李浩杰、苏伟男、贾思萌、张天芸 单位&#xff1a;西安外事学院 指导老师&#xff1a;胡宝权、陈小虎 1. 产品说明 1.1 设计目的 近年来&#xff0c;网球运动越来越受到老百姓的欢迎&#xff0c;各种规模的比赛层出不穷。然而由于网球运动极为激烈…

中国改性聚丙烯产业调研与投资战略报告(2023版)

内容介绍&#xff1a; 改性聚丙烯就是基于聚丙烯原料对其性能和其他方面的一些改进&#xff0c;如增强聚丙烯材料的冲击、拉伸强度、弹性等。聚丙烯改性主要通过化学改性和物理改性进行调整&#xff0c;使其在拥有本身优异性能的同时可以兼顾其他有利于生产和使用的性能。改性…

Python3基础

导包 在 python 用 import 或者 from...import 来导入相应的模块。 将整个模块(somemodule)导入&#xff0c;格式为&#xff1a; import somemodule 从某个模块中导入某个函数,格式为&#xff1a; from somemodule import somefunction 从某个模块中导入多个函数,格式为&#…

C++基础 -4- C/C++混合编程

引用格式(图片代码段呈现) extern "C" {#include "string.h" }代码验证 &#xff08;分别使用了C/C 的标准输出&#xff09; #include "iostream"using namespace std;extern "C" { #include "stdio.h" #include "…

Win11修改用户名(超详细图文)

新买的电脑一般预装Windows11系统&#xff08;家庭与学生版&#xff09;&#xff0c;新电脑初次开机使用微软邮箱账号登录&#xff0c;则系统将用户名自动设置成邮箱前5位字符。我的用户名便是一串数字【231xx】&#xff08;qq邮箱前5位&#xff09;&#xff0c;看着很不舒服&a…

快速掌握Pyqt5的10种容器(Containers)

快速掌握Pyqt5的三种主窗口 快速掌握Pyqt5的2种弹簧 快速掌握Pyqt5的5种布局 快速弄懂Pyqt5的5种项目视图&#xff08;Item View&#xff09; 快速弄懂Pyqt5的4种项目部件&#xff08;Item Widget&#xff09; 快速掌握Pyqt5的6种按钮 快速掌握Pyqt5的20种输入控件&#xff08;…

属性级情感分析

笔记为自我总结整理的学习笔记&#xff0c;若有错误欢迎指出哟~ 属性级情感分析 简介数据集介绍数据加载和预处理&#xff08;data_utils.py&#xff09;预训练模型&#xff08;skep&#xff09;模型定义模块&#xff08;model.py&#xff09;训练配置&#xff08;config.py&am…

element 的 Notification 通知,自定义内容

通知事件&#xff1a; // 商户后台通知 MerchantBackgroundNotice() {// 禁止消息通知弹出多条if(this.notifyInstance) {this.notifyInstance.close();}const h this.$createElement; // 创建文本节点this.notifyInstance this.$notify({showClose: false, // 禁止关闭按钮…