EAN-13 條碼
EAN 的全名是 European Article Number。13 是指其由 13 個數字組成。
EAN-13 是一款應用在零售商品上的條碼,有40多年歷史,已成業界標準。絕大部份在零售商品上都印有 EAN-13 條碼。
收銀員會掃瞄商品上的條碼,商物的編號便會準確和快速地輸入 POS 系統,這可大幅加快速度及減少錯誤。
因使用條碼有準確和快速的好處,所以很快便普及起來。
EAN-13 條碼始於1970年代。當時,有美國科技公司發明了 UPC 條碼,並應用在零售業上。因其便利性, UPC 很快在美國和加拿大普及使用,十分成功。
遠在大西洋彼岸的歐洲亦不甘落後,以 UPC 為基礎開發出自己的條碼系統。為了強調這是是歐洲的系統,改名也具有地域性,稱為歐洲州商品編碼系統 (European Article Numbering System), 簡稱 EAN 系統。
因使用條碼實在很方便,所以 EAN 亦在短時間內在歐洲流行,而且還推擴到全世界。日本,香港,台灣,中國大陸也採用了 EAN 系統。
雖然 EAN 名稱為歐洲,但實際上已成為全世界零售商品條碼的業界標準。
+++
上圖:EAN-13 條碼
EAN-13 條碼只應用在零售商品上。
EAN-13 條碼只含數字,不含字母。
EAN-13 條碼的長度是固定的,有13位數字。
EAN-13 條碼的首12位數字可自定,而最後1位數字是校驗碼,校驗碼由特定的數學算式計算。
EAN-13 條碼可由左至右或由右至左雙向掃描,一百八十度反轉了條碼也能掃描。
EAN-13 條碼的左,中,右有較長的分隔線,以便讓肉眼分別出 EAN 條碼。
EAN-13 條碼是業界標準,世界通用。
為了能有系統地分配 EAN條碼,使每件產品都有一個獨有的號碼。所以一些地區成立了國際商品條碼協會 ( International Article Numbering Association ),後來改稱為GS1。按國家或地區,每個地方都有當地的 GS1 負責分配號碼。香港,大陸和台灣都各有獨立機構負責。
GS1 把 EAN 條碼稱作為 GTIN-13 或 GTIN-8。但因 EAN 已為採用多年成為世界性的條碼,所以很多人仍然使用 EAN 的簡稱。
因 EAN 號碼不能重覆使用,所以要統一分配。負責分配的公司叫 GS1,你可以香港GS1或大陸GS1申請,又或向其他地區的 GS1 申請都可以。收費各有不同,可以相差好幾倍價錢,詳情請自行都各地區的 GS1 格價。
但申請EAN 條碼號碼不是法律上的要求,所以就算你自己自行創作號碼亦可,不過可能有會跟其他公司的號碼重覆的風險。
在中國大陸負責分配 EAN 條碼的官方機構是 「中國物品編碼中心」,此及為中國政府管理的機構。以下為中心的網站連結
EAN-13 條碼的號碼由「前綴碼」+「廠商識別代碼 + 商品項目代碼」+「校驗碼」三部份所組成。
前綴碼 Prefix
|
廠商識別代碼 + 商品項目代碼
|
校驗碼 Check Digit
|
佔 3 個碼, 是申請條碼的地區的代號。例如中國香港是「489」。
|
佔 9 個碼,分別是代表廠商的編號及這件單項商品的編碼。
|
佔 1 個碼,是為了防止條碼掃瞄器誤讀而設的。由特定的數學算法來計算。
|
a0845
EAN-13 的頭3個數字是「前綴碼」(prefix),是代表申請條碼的地區。
舉例:中國香港是「489」、中國是「690-695」、日本是「450-459 及 490-499」等等。
注意此號碼不是產地來源,只是指申請條碼的地區。
例子
香港地區的前綴碼是489。港商在大陸設廠生產,而在香港申請條碼號碼。產品可在香港銷售或出口到外國,貨物可用489的前綴碼。所以以條碼開首的號碼來分辨產地是不可行的。條碼並不是產地證明書,不能用作為產地來源的證明。
相關資料:EAN-13 條碼的前綴碼(Prefix)所代表的地區
「廠商識別代碼 + 商品項目代碼」,佔 9 個碼。分別代表申請條碼的廠商的號碼及代表單項産品的號碼。
EAN-13 的結構由左至右,包括了左側空白區,起始符,左側數據,中間分隔符,右側數據,校驗碼,終止符,右側空白區。
以下說明 EAN 條碼的結構。
空白區
空白區位於左右兩側,是刻意留下的一點空位,以避免條碼跟包裝上的其他印刷內容太接近而影響掃瞄。
起始符、終止符
起始符和終止符位於條碼的左右兩側。是 EAN 條碼的開始和終結,是給條碼掃瞄器分辨的記認。
上圖:EAN-13 的起始符和終止符。(Start/End Marker)
起始符和終止符的組成是一樣的。
如以二進制來表示起始符和終止符,兩者都是 101。
如以黑色條和白色條來表示,就是黑白黑。
起始符、終止符: Start/End Marker
中間分隔符
中間分隔符位於條碼的中間。把 EAN 條碼分成左側和右側,亦是給條碼掃瞄器分辨的記認。
上圖:中間分隔符。
如以二進制來表示中間分隔符,就是 01010。
如以黑色條和白色條來表示,就是白黑白黑白。
中間分隔符: Center Marker
左側和右側
以中間分隔符界,EAN-13條碼分為左側和右側。左側和右側的編碼方式有不同。
0 ~ 9
EAN-13 條碼由 0 ~ 9 的數字所組成。
條碼由黑色條和白色條組成。
在EAN-13條碼每個數字由7條黑白條組成。所謂「組成」提指黑色條和白色條的排列方法。
另外,每個數字各有3種不同的組成方式,分為稱為 A子集 、B子集 和 C子集。
現把 0 ~ 9 的 A、B、C子集的所有組成方法表列如下:
數字字符 | 左側數據符 | 右側數據符 | |
---|---|---|---|
A | B | C | |
0 |
0001101
白白白黑黑白黑
0 0 0 1 1 0 1
白 白 白 黑 黑 白 黑
|
0100111
白黑白白黑黑黑
0 1 0 0 1 1 1
白 黑 白 白 黑 黑 黑
|
1110010
黑黑黑白白黑白
1 1 1 0 0 1 0
黑 黑 黑 白 白 黑 白
|
1 |
0011001
白白黑黑白白黑
0 0 1 1 0 0 1
白 白 黑 黑 白 白 黑
|
0110011
白黑黑白白黑黑
0 1 1 0 0 1 1
白 黑 黑 白 白 黑 黑
|
1100110
黑黑白白黑黑白
1 1 0 0 1 1 0
黑 黑 白 白 黑 黑 白
|
2 |
0010011
白白黑白白黑黑
0 0 1 0 0 1 1
白 白 黑 白 白 黑 黑
|
0011011
白白黑黑白黑黑
0 0 1 1 0 1 1
白 白 黑 黑 白 黑 黑
|
1101100
黑黑白黑黑白白
1 1 0 1 1 0 0
黑 黑 白 黑 黑 白 白
|
3 |
0111101
白黑黑黑黑白黑
0 1 1 1 1 0 1
白 黑 黑 黑 黑 白 黑
|
0100001
白黑白白白白黑
0 1 0 0 0 0 1
白 黑 白 白 白 白 黑
|
1000010
黑白白白白黑白
1 0 0 0 0 1 0
黑 白 白 白 白 黑 白
|
4 |
0100011
白黑白白白黑黑
0 1 0 0 0 1 1
白 黑 白 白 白 黑 黑
|
0011101
白白黑黑黑白黑
0 0 1 1 1 0 1
白 白 黑 黑 黑 白 黑
|
1011100
黑白黑黑黑白白
1 0 1 1 1 0 0
黑 白 黑 黑 黑 白 白
|
5 |
0110001
白黑黑白白白黑
0 1 1 0 0 0 1
白 黑 黑 白 白 白 黑
|
0111001
白黑黑黑白白黑
0 1 1 1 0 0 1
白 黑 黑 黑 白 白 黑
|
1001110
黑白白黑黑黑白
1 0 0 1 1 1 0
黑 白 白 黑 黑 黑 白
|
6 |
0101111
白黑白黑黑黑黑
0 1 0 1 1 1 1
白 黑 白 黑 黑 黑 黑
|
0001001
白白白白黑白黑
0 0 0 0 1 0 1
白 白 白 白 黑 白 黑
|
1010000
黑白黑白白白白
1 0 1 0 0 0 0
黑 白 黑 白 白 白 白
|
7 |
0111011
白黑黑黑白黑黑
0 1 1 1 0 1 1
白 黑 黑 黑 白 黑 黑
|
0010001
白白黑白白白黑
0 0 1 0 0 0 1
白 白 黑 白 白 白 黑
|
1000100
黑白白白黑白白
1 0 0 0 1 0 0
黑 白 白 白 黑 白 白
|
8 |
0110111
白黑黑白黑黑黑
0 1 1 0 1 1 1
白 黑 黑 白 黑 黑 黑
|
0001001
白白白黑白白黑
0 0 0 1 0 0 1
白 白 白 黑 白 白 黑
|
1001000
黑白白黑白白白
1 0 0 1 0 0 0
黑 白 白 黑 白 白 白
|
9 |
0001011
白白白黑白黑黑
0 0 0 1 0 1 1
白 白 白 黑 白 黑 黑
|
0010111
白白黑白黑黑黑
0 0 1 0 1 1 1
白 白 黑 白 黑 黑 黑
|
1110100
黑黑黑白黑白白
1 1 1 0 1 0 0
黑 黑 黑 白 黑 白 白
|
A、B、C 子集的選用規則
EAN-13 第1個數字稱為前置碼。
前置不會寫入條碼內,而是由左側的數字選用A、B 子集的方式來決定。
EAN-13條碼以中間分隔符為分界,把條碼分為左側和右側。左側和右側的編碼方式有不同。
舉例,如左側是 AABBAB,那麼其前置碼是2。
左側以 A子集 及 B子集來編碼。而右側則只單獨以C子集來編碼。
具體表列如下:
前置碼 | EAN-13 數據字符子集 | |||||||||||
左側 | 右側 | |||||||||||
0 | A | A | A | A | A | A | C | C | C | C | C | C |
1 | A | A | B | A | B | B | C | C | C | C | C | C |
2 | A | A | B | B | A | B | C | C | C | C | C | C |
3 | A | A | B | B | B | A | C | C | C | C | C | C |
4 | A | B | A | A | B | B | C | C | C | C | C | C |
5 | A | B | B | A | A | B | C | C | C | C | C | C |
6 | A | B | B | B | A | A | C | C | C | C | C | C |
7 | A | B | A | B | A | B | C | C | C | C | C | C |
8 | A | B | A | B | B | A | C | C | C | C | C | C |
9 | A | B | B | A | B | A | C | C | C | C | C | C |
實際例子
以繪劃條碼 4891234567898 來作為實際例子
1.
按照前置碼的號碼,找出其左側的A子集、B子集的排列方式。
當前置碼是 4 時,左側排列就是 A B A A B B,右側是 C C C C C C。
4 | 8 | 9 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 8 |
A | B | A | A | B | B | C | C | C | C | C | C |
2.
按規律繪製黑條白條,加上起始符、中間分隔符和終止符。
各數字以其相應子集的黑條和白條列排。
左、中、右要有起始符、中間分隔符和終止符。
4 | 8 | 9 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 8 | |||
A | B | A | A | B | B | C | C | C | C | C | C | ||||
前置碼 | 起始符 | 左側 | 中間分隔符 | 右側 | 終止符 |
3.
組合起來就是 EAN-13 條碼。
4 | 8 | 9 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 8 | |||
A | B | A | A | B | B | C | C | C | C | C | C | ||||
前置碼 | 起始符 | 左側 | 中間分隔符 | 右側 | 終止符 |
「校驗碼」check digit 位於條碼最右側,佔 1 個碼,用以校驗條碼的正誤,防止讀取了錯誤的資料。
校驗碼是由特定的數學算法來計算,其不能自訂。而且必須存在,不能除去。
校驗碼的數學算法:
以校驗碼的位置為第1位,由右至左順序,最左側為第13位。
位置序號 | 13th | 12th | 11th | 10th | 9th | 8th | 7th | 6th | 5th | 4th | 3rd | 2st | 1st |
校驗碼的計算步驟:
1.
把所有「偶數位的數字」相加,再乘以「3」。
2.
把所有「奇數位的數字」相加。
3.
把步驟 1 與 2 的兩個結果相加。
4.
把步驟 3 的結果的個位數抽出來。
以「10」減這個個位數,其結果就是校驗碼。
如個位數是 0, 校驗碼為 0。
計算校驗碼的實例:
以下號碼作為例子,計算出 C (Check Digit)
489123456789C
位置序號 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
4 | 8 | 9 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | C |
1.
把所有「偶數位的數字」相加,再乘以「3」。
位置序號 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
4 | 8 | 9 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | C |
= (8 + 1 + 3 + 5 + 7 + 9) x 3
= 33 x 3
= 99
2.
把所有「奇數位的數字」相加。
位置序號 | 13th | 12th | 11th | 10th | 9th | 8th | 7th | 6th | 5th | 4th | 3rd | 2st | 1st |
4 | 8 | 9 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | C |
= 4 + 9 + 2 + 4 + 6 + 8
= 33
3.
把步驟 1 與 2 的兩個結果相加。
= 99 + 33
= 132
4.
把步驟 3 的結果的個位數抽出來。
132 的個位數是 2。
以10減這個位數,其結果就是校驗碼。
= 10 - 2
= 8
所以,校驗碼是 8
根據以上計算,489123456789 的校驗碼是 8。
EAN-13 條碼的中華人民共和國國家標準的文件是:GB 12904-2008
因版權問題,請自行到中國人民共和國「國家標準全文公開系統」上在線閱讀。下有連結:
標準號 | 中文標準名稱 | 英文標準名稱 | 內容簡略 |
GB 12904-2008 | 商品條碼 零售商品編碼與條碼表示 | Bar code for commodity - Retail commodity numbering and bar code marking | EAN, UPC 的標準 |
國家標準會不時更新,在寫這文章時,這個2008年的版本已是最新的標準,是現行使用的標準。
EAN/UPC bar code symbology specification