EAN13条形码的知识

简介: EAN13码标准码共13位数,系由「国家代码」3位数,「厂商代码」4位数,「产品代码」5位数,以及「检查码」1位数组成。其排列如下:   EAN-13码的结构与编码方式如图 3.1所示,包括: 1.国家号码由国际商品条码总会授权,我国的「国家号码」为「691」。厂商代码由国家商品条码策进会核发给申请厂商,占四个码,代表申请厂商的号码。 产品代码占五个码,系代表单项产品的号码,由厂商自

EAN13码标准码共13位数,系由「国家代码」3位数,「厂商代码」4位数,「产品代码」5位数,以及「检查码」1位数组成。其排列如下:

 条形码结构

EAN-13码的结构与编码方式如图 3.1所示,包括:

条形码解说

1.国家号码由国际商品条码总会授权,我国的「国家号码」为「691」。
厂商代码由国家商品条码策进会核发给申请厂商,占四个码,代表申请厂商的号码。
产品代码占五个码,系代表单项产品的号码,由厂商自由编定。
2.检查码占一个码,系为防止条码扫瞄器误读的自我检查。

 

EAN-13码的编码方式如下:

1.导入值:为EAN-13的最左边第一个数字,即国家代码的第一码,是不用条码符号表示的,
  功能:做为左资料码的编码设定之用。
2.左护线:为辅助码,不代表任何资料,长度较一般资料长,逻辑型态为101,其中1代表细黑,0代表细白。
3.左资料码:即左护线和中线间的条码部分,共有六个数字资料,其编码方式取决於导入值之大小,
规则如表3.1所示:

表 3.1 EAN-13码左资料码编码规则导入值 编码方式 导入值 编码方式
0 AAAAAA
1 AABABB
2 AABBAB
3 AABBBA
4 ABAABB
5 ABBAAB  
6 ABBBAA
7 ABABAB
8 ABABBA
9 ABBABA 


表 3.2 EAN-13码
左资料码 逻辑值  A类编码原则 B类编码原则
字码  值   逻辑值   逻辑值
0   0   0001101   0100111
1   1  0011001   0110011
2   2  0010011  0011011
3   3  0111101   0100001
4   4   0100011  0011101
5   5   0110001   0111001
6   6  0101111  0000101
7   7   0111011   0010001
8    8   0110111   0001001
9    9   0001011   0010111
注: 0为空白,1为线条


4.中线:为辅助码,作区分左资料码与右资料码之用。中线长度较一般资料为长,逻辑型态为01010。

5.右资料码:即位於右护线与中线之间的部份。包括五位数产品代码与一位检查码。其编码方式采为C类编码规则,如表 3.3。

表 3.3 EAN-13码
右资料码逻辑值 
 C 类编码原则
字码  值  逻辑值
0  0  1110010
1  1  1100110
2  2 1101100
3  3  1000010
4  4  1011100
5  5 1001110
6  6  1010000
7  7  1000100
8  8 1001000
9  9 1110100
注: 0为空白,1为线条


6.右护线:为辅助码,列印长度与左护线、中线相同,逻辑型态亦为101。

7.EAN-13码的检查码的算法与UPC-A码相同,例如假设一EAN-13码各码代号如下:

N1 N2 N3 N4 N5 N6 N7 N8 N9 N10 N11 N12 C

检查码之计算步骤如下:

C1 = N1+ N3+N5+N7+N9+N11C2 = (N2+N4+N6+N8+N10+N12)× 3CC = (C1+C2) 取个位数

C (检查码) = 10 - CC (若值为10,则取0)

 EAN13条形码共有113位,以下是摘自codeproject.com里边对113位的描述,

源代码地址:http://www.codeproject.com/csharp/EAN_13_Barcodes.asp,这里边有详细的描述

Barcode Section Numeric Value Graphic Representation Number of Modules
Quite Zone N/A 000000000 9 modules
Lead N/A 101 3 modules
1st Digit of Country Code 1 digit - "1" Used to determine the parity.
2nd Digit of Country Code 1 digit - "2" 0010011 7 modules
Manufacturer Number 5 digits = "34567" 01111010011101011000100001010010001 5 digits * 7 modules = 35 modules
Separator N/A 01010 5 modules
Product Number 5 digits = "89012" 10010001110100111001011001101101100 5 digits * 7 modules = 35 modules
Check Sum 1 digit = "8" 1001000 7 modules
Trailer N/A 101 3 modules
Quite Zone N/A 000000000 9 modules

 

相关文章
|
2月前
|
SQL Java 数据库连接
Spring Data JPA 技术深度解析与应用指南
本文档全面介绍 Spring Data JPA 的核心概念、技术原理和实际应用。作为 Spring 生态系统中数据访问层的关键组件,Spring Data JPA 极大简化了 Java 持久层开发。本文将深入探讨其架构设计、核心接口、查询派生机制、事务管理以及与 Spring 框架的集成方式,并通过实际示例展示如何高效地使用这一技术。本文档约1500字,适合有一定 Spring 和 JPA 基础的开发者阅读。
332 0
|
Java 数据库连接 Spring
Springboot + mybatisPlus 的多数据源的事务
springboot开箱即用就不多说,mybatisplus强大的持久层插件,一键生成代码。这二者的结合可以使得开发效率大幅度提升。然而对于初学着,多数据源及多数据源下的事务的处理,可能让你头疼。
4775 0
|
传感器 算法
数据结构之环境监测系统(深度优先搜索)
环境监测系统采用深度优先搜索(DFS)算法,实现实时监测和分析环境参数,如温度、湿度等。系统通过构建传感器网络图结构,利用DFS遍历网络,检测异常数据。当温度超过预设阈值时,系统将发出警告。此系统适用于工业生产、室内空调控制、农业温室管理等多种场景,提供高效的环境监测解决方案。
222 12
defineProps和defineEmits
本文介绍了Vue 3中的`defineProps`和`defineEmits`函数的用法,其中`defineProps`用于声明组件的属性(props),以便从父组件接收数据,而`defineEmits`用于定义组件可以触发的自定义事件,从而实现子组件向父组件传递数据的功能。
|
数据采集 测试技术 API
在BrowserStack上进行自动化爬虫测试的终极指南
随着互联网的发展,数据价值日益凸显,爬虫技术成为提取网页信息的关键工具。然而,不同环境下的测试与运行挑战重重,特别是在多浏览器、多平台上保证爬虫的稳定性和兼容性尤为困难。BrowserStack作为领先的跨浏览器测试平台,提供了强大的工具和服务。本文将详细介绍如何在BrowserStack上进行自动化爬虫测试,并结合代理IP技术提升爬虫的隐蔽性和成功率。通过具体步骤和案例分析,展示如何利用Selenium、自定义用户代理和Cookie设置来应对反爬虫机制。本指南旨在为开发者提供实用模板,帮助其在多变的测试环境中构建高效的爬虫系统。
474 1
|
存储 分布式计算 网络协议
流知识超详细总结!一文搞懂!
流知识超详细总结!一文搞懂!
290 6
流知识超详细总结!一文搞懂!
|
数据可视化 数据挖掘 编译器
Python可视化模块seaborn在Anaconda中的配置
本文介绍在Anaconda的环境中,安装Python语言中,常用的一个绘图库seaborn模块的方法~
312 1
Python可视化模块seaborn在Anaconda中的配置
|
机器学习/深度学习 人工智能 编解码
《GAP8人工智能物联网芯片》:毫瓦级人脸识别 – 识别篇
人脸识别因在安全领域的不同应用(门锁,门禁,闸机等)而受到了学界,业界及媒体的广泛关注,同时人脸识别也可以被广泛应用于各种其他方案,如刷脸取纸,账户管理等等。设备可自动的使用者(区别于其他使用者)可以创造出完全不一样的用户体验,如人脸识别咖啡机可识别了解每个用户对不同咖啡的喜好程度,从而推荐或制作符合用户口味的咖啡。同时,咖啡供应商也可以根据结果进行更详细的市场分析,物流管控,生产调整等从而获得更高的利润。是否可以仅用数美金就让现有设备配备可以长期依赖电池运行的人脸识别功能? AliOS Things + GAP8让这一切可以轻松得以实现!
《GAP8人工智能物联网芯片》:毫瓦级人脸识别 – 识别篇
|
缓存 监控 JavaScript
Vue.js面试题(二)
Vue.js面试题(二)
283 0
|
存储 SQL API
VB中判断空的几种方法,Null, Missing, Empty, Nothing, vbNullString区别
VB中判断空的几种方法,Null, Missing, Empty, Nothing, vbNullString区别