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. Linux2.6中的Slab层

          还记得一个进程创建的时候是什么给它分配的“进程描述符”吗?没错,是slab分配器,那么,这个slab分配器是个什么东西呢?       分配和释放数据结构是所有内核中最普遍的操作之一.为了 ...

  2. 如何使用ssh-keygen生成key

    ssh-keygen - 生成.管理和转换认证密钥 通常使用:[b]ssh-keygen -i -f 公密匙名>> authorized_keys[/b] 语法详细介绍 [code]ssh ...

  3. 实验记录一 初步接触cortex-M3

    应该说老早就在接触cortex-M3了.曾经没想到会接触嵌入式,结果由于导师的缘故.在选择项目管理时,就呵呵了.不废话.搭配环境非常easy,纯粹傻瓜式.可由于自己的马虎,却让自己一直困惑. 记得在前 ...

  4. Android设置Activity背景为透明style

    方法一: 通过Theme.Translucent @android:style/Theme.Translucent @android:style/Theme.Translucent.NoTitleBa ...

  5. Foundation 框架 NSFileManager,NSData 简单的文件操作

    一.简单展示NSFileManager的使用 #import <Foundation/Foundation.h> int main(int argc, const char * argv[ ...

  6. margin 属性的相关问题

    1.margin 的IE6 双边距问题 问题描述:浮动的块挨边框的时候会产生双倍的边距 解决方案: 1.增加display:inline; 2.去除float属性 2.margin 的重叠问题 CSS ...

  7. 五子棋Web版的开发(三)

    最近在这个上面花费的时间不多,进展不大,而且遇到了一个问题好久也没有解决..我将struct2 改为Spring MVC.但是ziRUL的自动映射却无法起作用.   一直不知道为什么会出现这个问题.. ...

  8. HDU OJ 5437 Alisha’s Party 2015online A

    题目:click here 题意: 邀请k个朋友,每个朋友带有礼物价值不一,m次开门,每次开门让一定人数p(如果门外人数少于p,全都进去)进来,当最后所有人都到了还会再开一次门,让还没进来的人进来,每 ...

  9. jbpmAPI-4

    Chapter 4. Examples 4.1.介绍基于web的工作台在默认情况下将安装两个样本库,包含各种示例项目,帮助你开始.本节显示了不同的例子可以发现在jbpm-playground库(也可用 ...

  10. 5.4.1 RegExp实例属性

    RegExp的每个实例都具有下列属性,通过这些属性可以取得有关模式的各种信息.        1.global:布尔值,表示是否设置了 g 标志.        2.ignoreCase:布尔值,表示 ...