EAN码的全名为欧洲商品条码(European Article Number),源於西元1977年,由欧洲十二个工业国家所共同发展出来的一种条码。目前已成为一种国际性的条码系统。EAN条码系统的管理是由国际商品条码总会(International Article Numbering Association)负责各会员国的国家代表号码之分配与授权,再由各会员国的商品条码专责机构,对其国内的制造商、批发商、零售商等授予厂商代表号码。目前已有30多个国家加盟EAN。

EAN码具有以下特性:

  只能储存数字。可双向扫瞄处理,即条码可由左至右或由右至左扫描。须有一检查码,以防读取资料的错误情形发生,位於EAN码中的最右边处。具有左护线、中线及右护线,以分隔条码上的不同部分与撷取适当的安全空间来处理。条码长度一定,较欠缺弹性,但经由适当的管道,可使其通用於世界各国。
  依结构的不同,可区分为:EAN-13码:由13个数字组成,为EAN的标准编码型式。EAN- 8码:由8个数字组成,属EAN的简易编码型式。

进一步介绍EAN标准码(EAN-13码)和EAN缩短码(EAN-8码)的结构与编码方式。

EAN13码

 

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

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

  1. 国家号码由国际商品条码总会授权,我国的「国家号码」为「471」,凡由我国核发的号码,均须冠上「471」为字头,以别於其他国家。  

  2. 厂商代码由中华民国商品条码策进会核发给申请厂商,占四个码,代表申请厂商的号码。  

  3. 产品代码占五个码,系代表单项产品的号码,由厂商自由编定。  

  4. 检查码占一个码,系为防止条码扫瞄器误读的自我检查。


图 EAN-13码的结构与编码方式

 

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

  1. 导入值:为EAN-13的最左边第一个数字,即国家代码的第一码,是不用条码符号表示的,其功能仅做为左资料码的编码设定之用。  

  2. 左护线:为辅助码,不代表任何资料,列印长度较一般资料长,逻辑型态为101,其中1代表细黑,0代表细白。  

  3. 左资料码:即左护线和中线间的条码部分,共有六个数字资料,其编码方式取决於导入值之大小,规则如表所示:

表 EAN-13码左资料码编码规则

导入值

编码方式

导入值

编码方式

1

AAAAAA

6

ABBBAA

2

AABABB

7

ABABAB

3

AABBAB

8

ABABBA

4

ABAABB

9

ABBABA

5

ABBAAB

 

 

表 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为线条

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

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

表 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为线条

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

  2. 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+N11

C2 = (N2+N4+N6+N8+N10+N12)× 3

CC = (C1+C2) 取个位数

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

  1. 部分地区和国家的国别码如表。

部分国EAN国家代码

代码

国家(或地区)

代码

国家

00~09

美国.加拿大

50

英国.爱尔兰

30~37

法国

690~691

中国大陆

40~44

德国

88

韩国

   

885

泰国

471

台湾

888

新加坡

49

日本

955

马来西亚

EAN8码

EAN-8码的结构

EAN缩短码共有8位数,当包装面积小於120平方公分以下无法使用标准码时,可以申请使用缩短码。其结构与编码方式如图所示。包括: 国家号码与标准码同。厂商单项产品号码,系每一项需使用缩短码的产品均需逐一申请个别号码。检查码的计算方式与标准码相同。 

图 EAN-8码结构与编码方式

EAN-8码的编码方式大致与EAN-13码相同,如下所述: EAN-8码具有以下特点: EAN-8码共8位数,包括国别码2位,产品代码5位,及检查码1位。  EAN-8从空白区开始共81个模组,每个模组长0.33mm,条码符号长度为26.73mm。EAN-8码左右资料码编码规则与EAN-13码相同。

第二节 EAN 8 码 / EAN 13 码的更多相关文章

  1. 一维码EAN 13简介及其解码实现(zxing-cpp)

    一维码EAN 13:属于国际标准条码, 由13个数字组成,为EAN的标准编码型式(EAN标准码). 依结构的不同,EAN条码可区分为: 1.  EAN 13码: 由13个数字组成,为EAN的标准编码型 ...

  2. (zxing.net)一维码EAN 13的简介、实现与解码

    一维码EAN 13:属于国际标准条码, 由13个数字组成,为EAN的标准编码型式(EAN标准码). 依结构的不同,EAN条码可区分为: EAN 13码: 由13个数字组成,为EAN的标准编码型式(EA ...

  3. 一维码EAN 8简介及其解码实现(zxing-cpp)

    一维码EAN 8:属于国际标准条码,由8个数字组成,属EAN的简易编码形式(EAN缩短码).当包装面积小于120平方公分以下无法使用标准码时,可以申请使用缩短码. 依结构的不同,EAN条码可区分为: ...

  4. (zxing.net)一维码EAN 8的简介、实现与解码

    一.简介 一维码EAN 8:属于国际标准条码,由8个数字组成,属EAN的简易编码形式(EAN缩短码).当包装面积小于120平方公分以下无法使用标准码时,可以申请使用缩短码. 依结构的不同,EAN条码可 ...

  5. 源码讲解 node+mongodb 建站攻略(一期)第二节

    源码讲解 node+mongodb 建站攻略(一期)第二节 上一节,我们完成了模拟数据,这次我们来玩儿真正的数据库,mongodb. 代码http://www.imlwj.com/download/n ...

  6. 曹工说Spring Boot源码(13)-- AspectJ的运行时织入(Load-Time-Weaving),基本内容是讲清楚了(附源码)

    写在前面的话 相关背景及资源: 曹工说Spring Boot源码(1)-- Bean Definition到底是什么,附spring思维导图分享 曹工说Spring Boot源码(2)-- Bean ...

  7. Solr4.8.0源码分析(13)之LuceneCore的索引修复

    Solr4.8.0源码分析(13)之LuceneCore的索引修复 题记:今天在公司研究elasticsearch,突然看到一篇博客说elasticsearch具有索引修复功能,顿感好奇,于是点进去看 ...

  8. 第二节:Web前端-ASP.NET之C#基础

    第二节:Web前端-ASP.NET之C#基础 学习ASP.NET,要掌握学习语言,控件等技能, <div style="text-align: center; line-height: ...

  9. Android(java)学习笔记222:开发一个多界面的应用程序之不同界面间互相传递数据(短信助手案例的优化:请求码和结果码)

    1.开启界面获取返回值 (1)采用一种特殊的方式开启Activity:               startActivityForResult(intent , 0): (2)在被开启的Activi ...

随机推荐

  1. swith

    “开关”(Switch)有时也被划分为一种“选择语句”.根据一个整数表达式的值,switch语句可从一系列代码选出一段执行.它的格式如下: switch(整数选择因子) { case 整数值1 : 语 ...

  2. hdoj 1052 Tian Ji -- The Horse Racing【田忌赛马】 【贪心】

    思路:先按从小到大排序, 然后从最快的開始比(如果i, j 是最慢的一端, flag1, flag2是最快的一端 ),田的最快的大于king的 则比較,如果等于然后推断,有三种情况: 一:大于则比較, ...

  3. ubuntu 14.04设备flash媒体播放器

    今天是2014年4一个月19日本,就在两天前公布 ubuntu 14.04版本号, 以今天的优势是星期六,西安小雨,所以折腾linux. 我是个有点linux基础的小白.说是有些基础是由于以前在上大学 ...

  4. hough变换中,直线方程从XY空间转换到参数空间的转换过程

    XY空间直线方程:y=kx+b 参数空间直线方程:xcosθ+ysinθ=ρ 直线方程从XY空间转换到参数空间过程的转换过程: k=tan(π-α)=tan(-α)=-tanα=-cotθ=-cosθ ...

  5. 反射以及 getDeclaredMethods()和getMethods()区别

    内容转载自http://blog.csdn.net/ljphhj/article/details/12858767 package cn.lee.demo; import java.lang.refl ...

  6. Spring集成log4j日志管理

    原文地址:http://blog.csdn.net/naruto1021/article/details/7969535 在使用Spring框架的时候,我们可以很方便的配置log4j来进行日志管理. ...

  7. BZOJ 3224: Tyvj 1728 普通平衡树(BST)

    treap,算是模板题了...我中间还一次交错题... -------------------------------------------------------------------- #in ...

  8. A Byte of Python 笔记(11)异常:try..except、try..finally

    第13章 异常 当你的程序中出现某些 异常的 状况的时候,异常就发生了. 错误 假如我们把 print 误拼为 Print,注意大写,这样 Python 会 引发 一个语法错误. 有一个SyntaxE ...

  9. 利用python进行数据分析之pandas库的应用(一)

    一.pandas的数据结构介绍 Series Series是由一种类似于一维数组的对象,它由一组数据以及一组与之相关的数据索引构成.仅由一组数据可产生最简单的Series. obj=Series([4 ...

  10. linq to entity asp.net mvc 多字段排序

    字段1 降序 字段2 降序 var str = db.xxx.OrderByDescending(p=>p.字段1).ThenByDescending(p=>p.字段2) ThenBy - ...