-
EAN-13
鎖定
European Article Number (歐洲物品編碼的縮寫),其中共計13位代碼的EAN-13是比較通用的一般終端產品的條形碼協議和標準,主要應用於超級市場和其它零售業,因此這種是我們比較常見的,隨便拿起身邊的一個從超市買來的商品都可以從包裝上看得到。
- 中文名
- EAN-13
- 外文名
- European Article Number
- 全 稱
- 歐洲物品編碼
- 概 述
- 一般的終端產品條形碼協議和標準
- 結 構
- 左側空白區、起始符等組成
- 作用於
- 超級市場和其它零售業
目錄
EAN-13基本介紹
中華人民共和國可用的國家代碼有690-699,其中696-699尚未使用。生活中最常見的國家代碼為690-693,其中以690、691開頭時,廠商識別碼為四位,商品項目代碼為五位;以692、693開頭時,廠商識別碼是五位,商品項目代碼是四位。
EAN-13結構
左側空白區:位於條碼符號最左側與空的反射率相同的區域,其最小寬度為11個模塊寬。
起始符:位於條碼符號左側空白區的右側,表示信息開始的特殊符號,由3個模塊組成。
左側數據符:位於起始符右側,表示6位數字信息的一組條碼字符,由42個模塊組成。
中間分隔符:位於左側數據符的右側,是平分條碼字符的特殊符號,由5個模塊組成。
終止符:位於條碼符號校驗符的右側,表示信息結束的特殊符號,由3個模塊組成。
右側空白區:位於條碼符號最右側的與空的反射率相同的區域,其最小寬度為7個模塊寬。為保護右側空白區的寬度,可在條碼符號右下角加“>”符號。
供人識讀字符:位於條碼符號的下方,是與條碼字符相對應的供人識別的13位數字,最左邊一位稱前置碼。供人識別字符優先選用OCR-B字符集,字符頂部和條碼底部的最小距離為0.5個模塊寬。標準版商品條碼中的前置碼印製在條碼符號起始符的左側。
EAN-13字符集
數據字符
商品條碼可表示10個數字字符:0~9。
條碼的二進制表示方法有三個子集:A、B和C。
數字字符 | A 子集 | B 子集 | C 子集 |
0 | 0001101 | 0100111 | 1110010 |
1 | 0011001 | 0110011 | 1100110 |
2 | 0010011 | 0011011 | 1101100 |
3 | 0111101 | 0100001 | 1000010 |
4 | 0100011 | 0011101 | 1011100 |
5 | 0110001 | 0111001 | 1001110 |
6 | 0101111 | 0000101 | 1010000 |
7 | 0111011 | 0010001 | 1000100 |
8 | 0110111 | 0001001 | 1001000 |
9 | 0001011 | 0010111 | 1110100 |
1. A子集中條碼字符所包含的條的模塊的個數為奇數,稱為奇排列;
2. B、C子集中條碼字符所包含的條的模塊的個數為偶數,稱為偶排列。
商品條碼的輔助字符
商品條碼起始符、終止符的二進制表示都為“101”(UPC-E的終止符例外),中間分隔符的二進制表示為“01010”(UPC-E的無中間分隔符。
EAN-13EAN-13商品條碼數據符
EAN-13商品條碼中的前置碼不用條碼字符表示,不包括在左側數據符內。右側數據符及校驗符均用字符集中的C子集表示。選用A子集還是B子集表示左側數據符取決於前置碼的數值。下表中列出了左側數據符的字符集的選擇規則:
前置碼 | 左1 | 左2 | 左3 | 左4 | 左5 | 左6 |
0 | A | A | A | A | A | A |
1 | A | A | B | A | B | B |
2 | A | A | B | B | A | B |
3 | A | A | B | B | B | A |
4 | A | B | A | A | B | B |
5 | A | B | B | A | A | B |
6 | A | B | B | B | A | A |
7 | A | B | A | B | A | B |
8 | A | B | A | B | B | A |
9 | A | B | B | A | B | A |
EAN-13EAN-13商品條碼校驗符
EAN-13商品條碼中的校驗符用字符集中的C子集表示,校驗符的作用是檢驗前面12個數字是否正確,在條碼機每次讀入數據時,都會計算一次數據符的校驗並與校驗符進行比對。校驗符的計算方法非常簡單,將12個數據符從左起將所有的奇數位相加得出一個數a,將所有的偶數位相加得出一個數b,然後將數b乘以3再與a相加得到數c,用10減去數c的個位數,如果結果不為10則檢驗符為結果本身,如果為10則檢驗符為0。
示例
例如:690123456789
690表示商品代碼:日用品
1234表示生產商代碼
56789表示產品代碼
計算其校驗符的過程為:
奇數位和:6 + 0 + 2 + 4 + 6 + 8 = 26
偶數位和:9 + 1+ 3 + 5 + 7 + 9 = 34
將奇數位和與偶數位和的三倍相加:26 + 34 * 3 = 26 + 102=128
取結果的個位數:128的個位數為8
用10減去這個個位數:10 - 8 =2
所以校驗碼為2
(注:如果取結果的個位數為0,那麼校驗碼不是為10 (10 - 0 = 10),而是0。)
前置碼:6
左側數據符:901234,按ABBBAA子集方式繪製條碼
右側數據符:567892,按CCCCCC子集方式繪製條碼
用條碼錶示:
左側空白區(11個模塊)
起始符(3個模塊):101
左側數據符(42個模塊):0001011(9)0100111(0)0110011(1)0011011(2)0111101(3)0100011(4)
中間分隔符(5個模塊):01010
右側數據符(42個模塊):1001110(5)1010000(6)1000100(7)1001000(8)1110100(9)1101100(2)
畫出這個條碼:
EAN-13EAN字符集編碼表
這個表説明了EAN-13條碼中的每個數位應該如何編碼,這要取決於這個數位位於條碼的哪半邊(左邊還是右邊)。在這種情況下,一個左手邊數位的編碼(奇數性還是偶數性)將取決於數制碼的第一個數位的值(見圖2中奇偶性編碼)。
觀察發現:
一個EAN-13字符使用7個元素來描述,包含2個條和2個空間。任何條或空間的長度都不會超過4個元素。唯一的例外情況就是左警戒條和右警戒條(都是3個元素)以及中間警戒條(5個元素長)。
條碼左手邊的所有字符總是以0(空間)開始的,而條碼右手邊的所有字符都是以1(條)開始的。
如果把1變成0,把0變成1,那麼“右手邊”編碼模式和“左手邊奇數”編碼模式是完全相同的。
“左手邊偶數”編碼模式是基於“左手邊奇數”編碼模式的。為了得到偶數編碼,可以按照如下步驟對左手邊編碼模式進行操作:1)把所有的1變成0,0變成1。2)將得到的結果編碼反着讀(從右到左)就得到了“左手邊偶數”編碼模式
[1]
。
EAN-13EAN奇偶性編碼表
下表説明了條碼左手邊每個字符按照哪種奇偶性進行編碼。奇偶性取決於EAN-13值得第一個數位。例如,我們的CD的EAN-13值是0075678164125。在這個條碼中,數制碼的第一個數位就是第一個“0”,所以,奇偶性就應該遵循下表中的數字0一行:
觀察得到:
第二個數制位總是按照奇數性進行編碼(這在解碼時很重要)。
一個UPC-A條碼的第一個數制位總是0,因此,全部使用奇數性。實際上,任何第一個數值位是0的EAN-13幅好其實是一個UPC-A符號,而不是一個EAN-13符號。
所有EAN-13符號(那些第一個數制位不是0的)始終有3個左手邊字符采用偶數性編碼,有2個採用奇數性編碼。
最後那兩個表是EAN-13編碼的關鍵和核心,並且兼容現有的UPC-A符號。
編碼示例
這個例子將對值“7501031311309”進行EAN-13編碼。“75”是數制,“01031”是廠商碼,“31130”是產品碼(“9”是校驗位,在本例中我們還是要進行計算)。這是墨西哥的12盎司一聽的百事可樂上的條碼。
計算加權和7+15+0+3+9+1+9+1+3+3+0=51。我們需要給51加上9以保證能整除10(51+9=60),因此,校驗位就是9。這和我們在條碼後面看到的那個“9”是一致的,説明我們計算對了。
接下來,我們觀察數制碼的第一個數位(條碼中最左邊的那個數位)是數字“7”。參照奇偶性編碼表中的數字“7”,我們可以知道第二個數制位和廠商碼應該按照“奇/偶/奇/偶/奇/偶”的模式進行編碼。這就是説第二個數制位將按照“左手邊奇數”性表進行編碼,廠商碼的第一個數位應該按照“左手邊偶數”性編碼的,等等。現在,我們可以按照如下步驟來編制條碼。之後將所有字符串連接起來就構成了最終的條碼。
- 左警戒條(總是相同的):101.
- 第二數制位[5]:按照左手邊奇數性進行編碼,0110001.
- 廠商碼第1個數位[0]:按照左手邊偶數性進行編碼,0100111.
- 廠商碼第2個數位[1]:按照左手邊奇數性進行編碼,0011001.
- 廠商碼第3個數位[0]:按照左手邊偶數性進行編碼,0100111.
- 廠商碼第4個數位[3]:按照左手邊奇數性進行編碼,0111101.
- 廠商碼第5個數位[1]:按照左手邊偶數性進行編碼,0110011.
- 中間警戒條(總是相同的):01010.
- 產品碼第1個數位[3]:按照右手邊字符進行編碼,1000010.
- 產品碼第2個數位[1]:按照右手邊字符進行編碼,1100110.
- 產品碼第3個數位[1]:按照右手邊字符進行編碼,1100110.
- 產品碼第4個數位[3]:按照右手邊字符進行編碼,1000010.
- 產品碼第5個數位[0]:按照右手邊字符進行編碼,1110010.
- 校驗位[9]:按照右手邊字符進行編碼,1110100.
- 右邊警戒條(總是相同的):101.