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. Uber司机手机终端问答篇

    手机客户端 Q:自带安卓手机可以使用吗? A:安卓终端已经推出,请在微信页面点左下菜单选取“下载司机端APP”查看! Q:对自带苹果手机的要求? A:4S型号及以上且未越狱:使用3G或4G网络 Q:客 ...

  2. Java基础:容器

    转载请注明出处:jiq•钦's technical Blog 一.Collection:存放独立元素 Collection中的接口都是可选操作,事实上现类 并不一定实现了其全部接口,这是为了防止&qu ...

  3. 打开固定文件的pr_debug

    驱动中pr_debug定义在kernel/include/linux/printk.h /* If you are writing a driver, please usedev_dbg instea ...

  4. css版hover现边框

    需要注意的是  hover中要给盒子加:position:relative; <style type="text/css"> *{margin:0;padding:0; ...

  5. MSSQL:修改tempdb设置增加DW性能

    Temp DB 在DW中变得非常重要,因为要进行大量的运算,如果内存不够数据就会放在Temp DB中 1. 把Temp DB移动到高性能的磁盘上. 2. 增加tempdb 的大小 3. 把Auto S ...

  6. BZOJ 1003: [ZJOI2006]物流运输trans(最短路+dp)

    1A,爽! cost[i][j]表示从第i天到第j天不改路线所需的最小花费,这个可以用最短路预处理出.然后dp(i)=cost[j][i]+dp(j-1)+c. c为该路线的花费. --------- ...

  7. Maven Spring JUnit 在Maven Clean Install时报

    问题: Maven Clean Install时, 遇到报错package org.junit does not exist 明显, Unit Test在Compile阶段就被检查了. 而POM.xm ...

  8. JavaScript基础知识----零基础js入门练习题

    1,什么是Javascript? 答:Javascipt是一种脚本语言,由web浏览器进行解释和执行.   2,JavaScript是由那几个部分组成?  答:主要分为以下三种:     ECMASc ...

  9. PHP新手必须掌握的入门与实战技巧

    作为当今主流的开发语言,PHP集简单.免费.高效等特点于一身.对于想加入PHP大军的新手来说,从何学起.如何学习? 你需要掌握PHP的基础知识.常用功能模块.面向对象.MVC等相关技能.学会了这些技能 ...

  10. IOS 页面之间的传值(主讲delegate)

    IOS的Delegate,通俗一点说就是页面之间的传值. 总结一下现在知道的IOS页面之间传值的方式有三种 1.使用NSNotification发送通知的传值 主要是通过NSNotificationC ...