EAN-13

EAN-13 hay EAN.UCC-13 hoặc DUN-13 là một loại mã vạch trước đây thuộc quyền quản lý của Hệ thống đánh số sản phẩm châu Âu (tiếng Anh: The European Article Numbering system, viết tắt: EAN), ngày nay thuộc quyền quản lý của EAN-UCC sử dụng 13 chữ số.

Trước đây ở Mỹ người ta sử dụng một hệ thống đánh số sản phẩm cùng nguyên lý như EAN nhưng chỉ có 12 hoặc 8 số, gọi là Mã sản phẩm chung (tiếng Anh:Universal Product Code, viết tắt: UPC). Nhưng kể từ tháng 1 năm 2005, người Mỹ đã chuyển sang sử dụng EAN.

Hệ thống đánh số sản phẩm Nhật Bản (The Japanese Article Numbering) (viết tắt: JAN) là một phiên bản của EAN-13, điểm khác duy nhất là nó bắt đầu với cụm số 49.

Gọi là EAN-13 vì trong chuỗi mã hóa của nó có đúng 13 số, trong đó số cuối cùng là số kiểm tra. Cũng giống như UPC (EAN.UCC-8 hay EAN.UCC-12), nó là loại mã vạch liên tục sử dụng bốn loại kích thước các vạch.

Hình minh họa của EAN-13

Đặc trưng

[sửa | sửa mã nguồn]
  • EAN-13 sử dụng 2 (hoặc 3) ký tự đầu tiên làm mã quốc gia hay mã loại hình sản phẩm (tồn kho, báo chí). Các số này không thay đổi theo từng quốc gia và do tổ chức EAN quốc tế quy định. Các loại mã vạch thuộc UPC trên thực tế là một tập con của EAN-13. Các máy quét đọc được các mã vạch EAN có thể đọc rất tốt các mã vạch UPC. Tuy nhiên, các máy quét UPC không nhất thiết phải đọc được các mã vạch EAN.
  • Năm (nếu có 2 số chỉ mã quốc gia) hoặc bốn (nếu có 3 số chỉ mã quốc gia) chữ số tiếp theo chỉ mã của nhà sản xuất. Các số này do tổ chức EAN tại quốc gia mà mã EAN được in cấp cho nhà sản xuất với một lệ phí nhỏ.
  • Năm số tiếp theo đó là mã sản phẩm của nhà sản xuất, do nhà sản xuất tự điều chỉnh. Thông thường để dễ quản lý, người ta hay đánh mã sản phẩm từ 00000 đến 99999. Như vậy có thể có tới 100.000 chủng loại sản phẩm khác nhau đối với một nhà sản xuất.
  • Số cuối cùng là số kiểm tra, phụ thuộc vào 12 số trước nó.

Mã quốc gia

[sửa | sửa mã nguồn]

Dưới đây là một phần mã quốc gia. Cụ thể hơn xem trong trang chủ của tổ chức EAN quốc tế.[1] Lưu ý rằng nó chỉ thị quốc gia ở đó người ta phát hành mã này chứ nó không nhất thiết phải là xuất xứ của sản phẩm.

Khoảng số Quốc gia Khoảng số Quốc gia Khoảng số Quốc gia
00001–00009
0001–0009
001–019
Mỹ 20-29 dự trữ để sử dụng khu vực
(cửa hàng/kho tàng)
30 -37 Pháp
400-440 Đức 45, 49 Nhật Bản 46 Liên bang Nga
471 Đài Loan 474 Estônia 475 Latvia
477 Litva 479 Sri Lanka 480 Philippines
482 Ukraina 484 Moldova 485 Acmênia
486 Gruzia 487 Kazakhstan 489 Hồng Kông
50 Vương quốc Anh 520 Hy Lạp 528 Liban
529 Síp 531 Macedonia 535 Malta
539 Ai Len 54 Bỉ & Luxembourg 560 Bồ Đào Nha
569 Iceland 57 Đan Mạch 590 Ba Lan
594 Rumani 599 Hungary 600-601 Nam Phi
609 Mauritius 611 Maroc 613 Algérie
619 Tunisia 622 Ai Cập 625 Jordani
626 Iran 64 Phần Lan 690-692 Trung Quốc
70 Na Uy 729 Israel 73 Thụy Điển
740-745 Guatemala,
El Salvador,
Honduras,
Nicaragua,
Costa Rica & Panama
746 Cộng hòa
Dominicana
750 México
759 Venezuela 76 Thụy Sĩ 770 Colombia
773 Uruguay 775, 785 Peru 777 Bolivia
779 Argentina 780 Chile 784 Paraguay
786 Ecuador 789 Brazil 80 -83 Ý
84 Tây Ban Nha 850 Cuba 858 Slovakia
859 Cộng hòa Czech 860 Nam Tư 869 Thổ Nhĩ Kỳ
87 Hà Lan 880 Hàn Quốc 885 Thái Lan
888 Singapore 890 Ấn Độ 893 Việt Nam
899 Indonesia 90-91 Áo 93 Úc
94 New Zealand 955 Malaysia 977 ISSN (báo chí)
978 ISBN (sách) 979 ISMN (nhạc) 980 Biên lai thanh toán tiền
99 Vé, phiếu

Quy tắc tính số kiểm tra

[sửa | sửa mã nguồn]

Số kiểm tra là số thứ 13 của EAN-13. Nó không phải là một số tùy ý mà phụ thuộc vào 12 số đứng trước đó và được tính theo quy tắc sau:

  • Lấy tổng tất cả các số ở vị trí lẻ (1,3,5,7,9,11) được một số A.
  • Lấy tổng tất cả các số ở vị trí chẵn (2,4,6,8,10,12). Tổng này nhân với 3 được một số (B).
  • Lấy tổng của A và B được số A+B.
  • Lấy phần dư trong phép chia của A+B cho 10, gọi là số x. Nếu số dư này bằng 0 thì số kiểm tra bằng 0, nếu nó khác 0 thì số kiểm tra là phần bù (10-x) của số dư đó.

Số kiểm tra được thêm vào cuối chuỗi số có 12 chữ số ban đầu tạo ra chuỗi số EAN-13 có 13 chữ số. Tuy nhiên, trong thực tế sản xuất mã vạch, số này đã được thêm vào cuối chuỗi, nhưng các phần mềm in ấn mã vạch nên có phần kiểm tra lại số này trước khi in, nhằm tránh các sai lầm do sai sót dữ liệu.

Cấu trúc mã vạch

[sửa | sửa mã nguồn]

Quy ước: Các bit có giá trị 1 được in bằng mực đen thành một đường thẳng đứng, các bit có giá trị 0 không được in (hoặc được in bằng mực trắng) thành một đường thẳng đứng có cùng độ rộng với bit có giá trị 1.

Cấu trúc của mã vạch EAN-13 như sau:

Các vạch bảo vệ trái - 6 số kể từ số thứ hai đến số thứ bảy - các vạch bảo vệ trung tâm - 5 số tiếp theo (8-12)- số kiểm tra - các vạch bảo vệ phải

Phía trước các vạch bảo vệ trái và phía sau các vạch bảo vệ phải luôn luôn phải có các khoảng lặng trắng để tránh việc máy quét đọc sai.

Việc mã hóa của 6 số từ vị trí thứ 2 đến vị trí thứ 7 phụ thuộc vào giá trị của số đầu tiên theo quy tắc chẵn -lẻ dưới đây.

Số đầu tiên 2 3 4 5 6 7
0 Lẻ Lẻ Lẻ Lẻ Lẻ Lẻ
1 Lẻ Lẻ Chẵn Lẻ Chẵn Chẵn
2 Lẻ Lẻ Chẵn Chẵn Lẻ Chẵn
3 Lẻ Lẻ Chẵn Chẵn Chẵn Lẻ
4 Lẻ Chẵn Lẻ Lẻ Chẵn Chẵn
5 Lẻ Chẵn Chẵn Lẻ Lẻ Chẵn
6 Lẻ Chẵn Chẵn Chẵn Lẻ Lẻ
7 Lẻ Chẵn Lẻ Chẵn Lẻ Chẵn
8 Lẻ Chẵn Lẻ Chẵn Chẵn Lẻ
9 Lẻ Chẵn Chẵn Lẻ Chẵn Lẻ

Các số từ vị trí 8 đến vị trí thứ 13 được mã hóa theo chuỗi đảo ngược của mã hóa lẻ (xem bảng dưới đây) của số có giá trị tương ứng theo bảng dưới đây. Ví dụ số 0 có mã hóa lẻ là "0001101" thì khi được mã hóa ở các vị trí từ 8 đến 13 sẽ là "1110010".

Các vạch bảo vệ trái và phải có giá trị bit là 101. Các vạch bảo vệ trung tâm có giá trị bit là 01010.

Mã hóa chẵn lẻ

[sửa | sửa mã nguồn]

Chuỗi mã hóa chẵn hay lẻ của các giá trị số từ 0 đến 9 được liệt kê trong bảng sau:

Giá trị số Lẻ Chẵn
0 0001101 0100111
1 0011001 0110011
2 0010011 0011011
3 0111101 0100001
4 0100011 0011101
5 0110001 0111001
6 0101111 0000101
7 0111011 0010001
8 0110111 0001001
9 0001011 0010111

Nó được áp dụng để in các số từ vị trí thứ 2 đến vị trí thứ 7.

Khi in ấn, các vạch bảo vệ này được in dài hơn so với các vạch của dữ liệu về phía dưới. Số đầu tiên được in bên ngoài và phía dưới của vạch bảo vệ trái. Sáu số tiếp theo được in phía dưới các vạch của chúng trong khoảng các vạch bảo vệ trái và các vạch bảo vệ trung tâm. Sáu số cuối được in phía dưới các vạch của chúng trong khoảng các vạch bảo vệ trung tâm và các vạch bảo vệ phải. Chiều rộng của mã vạch quyết định mật độ in ấn cũng như khả năng đọc chuẩn xác cao hay thấp của máy quét. Chiều cao của các vạch không ảnh hưởng đến việc này nhiều lắm. Tuy nhiên, thông thường chiều cao của mã vạch được in với độ rộng khoảng 1 đến 2,5 cm là chủ yếu.

Công nghệ in ấn sử dụng hai phương pháp như sau:

  1. Sử dụng các true type font chữ đặc biệt tạo sẵn. Các font chữ này thực chất là tổ hợp các vectơ của các hình chữ nhật- được các nhà tạo font chữ bán với giá khoảng 300 đến 500 USD một bộ. Các font chữ này được lưu trữ dưới dạng vectơ nên ít bị ảnh hưởng khi hiển thị trên màn hình máy tính cũng như khi in ra.
  2. Sử dụng các lệnh đồ họa trong các ngôn ngữ lập trình để vẽ các đường thẳng. Cách này đơn giản hơn nhưng khi hiển thị trên các thiết bị màn hình có độ phân giải thấp bị ảnh hưởng nhiều (do các đường được vẽ theo đơn vị pixel - là khá lớn so với độ rộng của các vạch). Tuy nhiên khi gửi lệnh in trực tiếp đến máy in thì không bị ảnh hưởng nhiều do được in theo từng điểm in (dot).
  • CorelDRAW các phiên bản mới thường có cài đặt sẵn bộ phần mềm tạo mã vạch: Menu - Edit - Insert Barcode.

Tham khảo

[sửa | sửa mã nguồn]

Liên kết ngoài

[sửa | sửa mã nguồn]
  • PHPSVGBarcode. Chương trình tạo mã vạch định dạng SVG