阅读新闻

关于EAN商品编码的讨论-20061026

[日期:2006-10-26] 来源:sapsky  作者:符志强 [字体: ]

该问题由黑色契约提出,水菓光彩给出算法逻辑,如下

CHECK DIGHT    

 

The last digit serves as an accuracy check on the entire number by scanning devices.    

 

   CHECK DIGIT CALCULATION:

 

The last digit is an all important "fail safe" for accuracy of scanning. The check digit is derived by a modulo-1O calculation from all the other digits in the number, via the following procedure.     

 

STEP ONE:         Starting with the second digit in the number, add up all the alternate digit values - EXCLUDING THE CHECK DIGIT - from left to right.   

 

STEP TWO:         Multiply the above total, of Step One, by 3.       

 

STEP THREE:      Total the remaining, un-added, digit values.

 

STEP FOUR:     Add the result of Step 2 to the result of Step 3.   

 

STEP FIVE:             The modulo-1O check digit, therefore, is the smallest number, which, when added to the result of Step 4, produces a multiple of 1O    

 

The following example calculates the check digit number for 489 1234 56789? .....

 

STEP ONE: 8 + 1 + 3 + 5 + 7 + 9 = 34 偶位数 STEP TWO: 34 x 3 = 102  STEP THREE: 4 + 9 + 2 + 4 + 6 + 8 = 33 奇位数 STEP FOUR: 102 + 33 = 135  STEP FIVE: 135 + ? = 140 10的倍数或,10减个位数     

 

 

5步骤 : The modulo-1O check digit, therefore, is the smallest number,

 

which, when added to the result of Step 4, produces a multiple of 1O

 

意即找出一个最小的数目, 用它加上第4步骤的结果, 即可得出一个10的倍数.

 

5步骤公式 :135 + 5 = 140

 

因第4步骤的结果是 135, 故最小要加上 5, 就可得到 140 (10的倍数)

 

check digit 5

 

 

 

另一个表达方式, 是用 10 减去第4步骤结果的个位数, 13"5" 里的5

 

公式 : 10 - 5 = 5, 一样得出check digit 5

 

 

两个表达方式的数学原理是一模一样的.

 

 

希望以上解说能帮得上, 若有其他问题, 请随时与我们联络.

下面是偶的验证结果

880897977049?
step 1 39
step 2 117
step 3 37
step 4 154
step 5 6
312345678910?
step 1 25
step 2 75
step 3 24
step 4 99
step 5 1
81234567891?
step 1 25
step 2 75
step 3 29
step 4 104
step 5 6
21234567?
step 1 16
step 2 48
step 3 14
step 4 62
step 5 8

 

测试 9位 EAN

 

后台配置

配置

配置

 

附:

(由星愿提供 ^_^ )

采用EAN-8条码的几种情况

EAN-8商品条码也称缩短版商品条码,表示EAN/UCC-8代码。

在通常情况下,用户应尽量选用EAN商品条码,尤其是选用EAN-13条码。但在以下几种情况下,可采用EAN-8条码。

§                     EAN-13商品条码的印刷面积超过印刷标签最大面面积的四分之一或全部可印刷面积的八分之一时;

§                     印刷标签的最大面面积小于40cm2或全部可印刷面积小于80cm2时;产品本身是直径小于3cm的圆柱体。

 

 

EAN/UCC-8的代码结构

 

EAN/UCC-8的代码结构:

1 

A、商品项目识别代码  EAN编码组织在EAN分配的前缀码(X8X7X6)的基础上分配给厂商特定商品项目的代码。为了保证代码的惟一性,商品项目识别代码须由中国物品编码中心统一分配。

B、校验位  用来校验其他代码编码的正误。计算方法见GB 12904

 

 

EAN/UCC-13的代码结构

 

1)当前缀码为690691时,EAN/UCC-13的代码结构:

2

 

2)当前缀码为692693时,EAN/UCC-13的代码结构:

3

A、厂商识别代码  由中国物品编码中心统一向申请厂商分配。厂商识别代码左起三位是国际物品编码协会分配给中国物品编码中心的前缀码。

B、商品项目代码  由厂商根据有关规定自行分配。

C、校验位  用来校验其他代码编码的正误。计算方法见GB 12904

 

二、条形码分类

1、 按码制分类

1 UPC

1973年,美国率先在国内的商业系统中应用于UPC码之后加拿大也在商业系统中采用UPC码。UPC码是一种长度固定的连续型数字式码制,其字符集为数字0~9。它采用四种元素宽度,每个条或空是1234倍单位元素宽度。IPC码有两种类型,即UPC-A码和UPC-E码。

2 EAN

1977年,欧洲经济共同体各国按照UPC码的标准制定了欧洲物品编码EAN码,与UPC码兼容,而且两者具有相同的符号体系。EAN码的字符编号结构与UPC码相同,也是长度固定的、连续型的数字式码制,其字符集是数字0~9。它采用四种元素宽度,每个条或空是1234倍单位元素宽度。EAN码有两种类型,即EAN-13码和EAN-8码。

3)交叉25

交叉25码是一种长度可变的连续型自校验数字式码制,其字符集为数字0~9。采用两种元素宽度,每个条和空是宽或窄元素。编码字符个数为偶数,所有奇数位置上的数据以条编码,偶数位置上的数据以空编码。如果为奇数个数据编码,则在数据前补一位0,以使数据为偶数个数位。

439

39码是第一个字母数字式码制。1974年由Intermec公司推出。它是长度可比的离散型自校险字母数字式码制。其字符集为数字0—926个大写字母和7特殊字符(-、。、Space/%、¥),共43个字符。每个字符由9个元素组成,其中有5个条(2个宽条,3个窄条)和4个空(1个宽空,3个窄空),是一种离散码。

5)库德巴码

库德巴码(Code Bar)出现于1972年,是一种长度可变的连续型自校验数字式码制。其字符集为数字0—96个特殊字符(-、:、/、。、+、¥),共16个字符。常用于仓库、血库和航空快递包裹中。

6128

128码出现于1981年,是一种长度可变的连续型自校验数字式码制。它采用四种元素宽度,每个字符由3个条和3个空,共11个单元元素宽度,又称(113)码。它由106个不,同条形码字符,每个条形码字符有三种含义不同的字符集,分别为ABC。它使用这3个交替的字符集可将128ASCII码编码。

793

93码是一种长度可变的连续型字母数字式码制。其字符集成为数字。0-926个大写字母和7个特殊字符(-、。、Space/+%、¥)以及4个控制字符。每个字符由3个条和3个罕,共9个元素宽度。

849

49码是一种多行的连续型、长度可变的字母数字式码制。出现于1987年,主要用于小物品标签上的符号。采用多种元素宽度。其字符集为数字0-926个大写字母和7个特殊字符(-、。、Space%/+%、¥)、3个功能键(F1、 陀、F3)和3个变换字符,共49个字符。

9)其他码制

除上述码外,还有其他的码制,例如25码出现于1977年,主要用于电子元器件标签;矩阵25码是11码的变形;Nixdorf码已被EAN码所取代Plessey码出现于19715月主要用于图书馆等。

 

ENA-13校验码的计算方法

 

  1. 代码位置序号
    代码位置序号是指包括校验码在内的,由右至左的顺序号(校验码的代码位置序号为1)。
  2. 计算步骤
    校验码的计算步骤如下:
    a.
    从代码位置序号2开始,所有偶数位的数字代码求和。
    b.
    将步骤a的和乘以3
    c.
    从代码位置序号3开始,所有奇数位的数字代码求和。
    d.
    将步骤b与步骤c的结果相加。
    e.
    用大于或等于步骤d所得结果且为10最小整数倍的数减去步骤d所得结果,其差即为所求校验
    码的值。
    示例:代码690123456789X1校验码的计算见表B.1

1 校验码的计算方法

步 骤

举 例 说 明

1.自右向左顺序编号

位置序号

13

12

11

10

9

8

7

6

5

4

3

2

1

代码

6

9

0

1

2

3

4

5

6

7

8

9

X

2.从序号2开始求出偶数位上数字之和

9+7+5+3+1+934      

3. ①*3=②

34×3102        

4.从序号3开始求出奇数位上数字之和

8+6+4+2+0+626      

5. ②+③=④

102+26128        

6.用大于或等于结果且为10最小整数倍的数减去,其差即为所求校验码的值

1301282
校验码X12

 

 



阅读:
录入:sapsky

评论 】 【 推荐 】 【 打印
上一篇:
下一篇:关于ABAP的OO一些简单应用
相关新闻      
本文评论       全部评论
  厉害   (heisemq会员 ,10/26/2006 12:49:45 )
发表评论


点评: 字数
姓名:

  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款