EAN-13 條碼結構解析
一個完整的 EAN-13 條碼由 13 位數字組成,各部分含義如下:
4 7 1 | 0 0 8 8 0 8 | 1 4 5 | 6
└──────┘ └────────────────┘ └───────┘ └─
GS1前綴 廠商識別碼 商品代碼 檢查碼
(台灣=471)
- GS1 前綴碼(2–3 位):對應國家或地區
- 廠商識別碼(4–7 位):GS1 分配給各廠商的唯一識別碼
- 商品代碼(3–5 位):廠商自行分配給各商品
- 檢查碼(1 位):最後一位,用於驗證條碼完整性
常見 GS1 前綴碼對照
| 前綴碼 | 國家/地區 |
|---|---|
| 00–09 | 美國、加拿大 |
| 30–37 | 法國 |
| 45–49 | 日本 |
| 471 | 台灣 |
| 489 | 香港 |
| 50–59 | 英國 |
| 690–699 | 中國大陸 |
| 880 | 南韓 |
| 885 | 泰國 |
| 888 | 新加坡 |
| 899 | 印尼 |
注意:GS1 前綴代表條碼在哪個國家「登記」,不一定代表商品的生產地。一個台灣品牌可能在多個國家登記商品碼,同一商品在不同市場可能有不同條碼。
檢查碼算法詳解
EAN-13 使用 Modulo 10 算法(Luhn 算法變形):
步驟 1:取前 12 位數字 步驟 2:奇數位(位置 1,3,5,7,9,11)× 1;偶數位(位置 2,4,6,8,10,12)× 3 步驟 3:加總所有乘積 步驟 4:(10 - 總和 mod 10) mod 10 = 檢查碼
實例計算:條碼 471008808145?
| 位置 | 數字 | 乘數 | 乘積 |
|---|---|---|---|
| 1 | 4 | ×1 | 4 |
| 2 | 7 | ×3 | 21 |
| 3 | 1 | ×1 | 1 |
| 4 | 0 | ×3 | 0 |
| 5 | 0 | ×1 | 0 |
| 6 | 8 | ×3 | 24 |
| 7 | 8 | ×1 | 8 |
| 8 | 0 | ×3 | 0 |
| 9 | 8 | ×1 | 8 |
| 10 | 1 | ×3 | 3 |
| 11 | 4 | ×1 | 4 |
| 12 | 5 | ×3 | 15 |
總和 = 4+21+1+0+0+24+8+0+8+3+4+15 = 88
(10 - 88 mod 10) mod 10 = (10 - 8) mod 10 = 2
所以完整條碼為 4710088081452(此為假設範例)。
台灣商品條碼管理
GS1 Taiwan
財團法人中華民國商品條碼策進會(GS1 Taiwan)負責台灣的 GS1 系統管理:
- 廠商加入需向 GS1 Taiwan 申請會員資格
- 取得廠商識別碼後,可自行分配商品代碼
- 年費依廠商規模(SKU 數量)計算
店內碼
前綴 20–29 的 EAN-13 條碼是「店內碼」,由零售商自行使用(如超市的散裝商品、自有品牌),不代表正式的 GS1 登記廠商。
圖書條碼(ISBN-13)
ISBN-13 條碼以 978 或 979 開頭,是 EAN-13 的子集,也可用本計算機驗證格式正確性。台灣出版品的 ISBN 由國家圖書館(NCL)管理,前綴 978-626 為台灣出版品常見前綴段。
應用場景
- 消費者驗貨:確認掃描是否正確,檢查是否為正品(但條碼本身不防偽)
- 開發者測試:驗證系統生成的條碼格式是否正確
- 電商商品管理:確認商品條碼的完整性
- 庫存盤點:快速確認手動輸入的條碼是否有誤
本計算機只驗證 EAN-13 條碼的格式正確性(檢查碼算法),不查詢實際商品資料庫,也不能判斷商品真偽。要查詢台灣商品資訊,可使用 GS1 Taiwan 的「條碼查詢」服務(boc.gtin.net.tw)。