“Giải mã” mã vạch EAN-13

Đã bao giờ bạn hỏi mã vạch được hình thành theo quy tắc nào, nó được xử lý như thế nào và có ứng dụng gì trong thực tiễn? Bài viết sau đây sẽ giúp bạn hình dung đôi nét cơ bản về vấn đề này…

1. Mã hóa sản phẩm

Chúng ta thường thấy trên các sản phẩm thường ghi thông tin nguồn gốc xuất xứ, nhà sản xuất, tên sản phẩm…để tham khảo khi sử dụng. Tuy nhiên rõ ràng là với nhiều thông tin cần phải đọc như thế thì rất mất thời gian trong việc quản lý các sản phẩm. Để giải quyết vấn đề này người ta mã hóa các thông tin này thành một chuỗi số.

Với chuẩn mã hóa EAN-13, thông tin mã hóa sản phẩm sẽ bao gồm chuỗi 13 chữ số (0 đến 9) bao gồm:

–  2 hoặc 3 chữ số đầu dùng để chỉ thị quốc gia phát hành mã vạch (chứ không nhất thiết phải là quốc gia sản xuất ra sản phẩm)

–  5 hoặc 4 chữ số tiếp theo dùng để chị thị mã của nhà sản xuất

–  5 chữ số tiếp theo chỉ thị mã sản phẩm

–  Chữ số cuối cùng gọi là mã kiểm tra

Để hình dung rõ hơn về mã quốc gia, bạn tham khảo bảng mã sau:

00-13 Mỹ & Canada 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 Tân Tây Lan 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

Ta cũng có thể thấy rằng, dù mã số quốc gia có thể có 2 hoặc 3 chữ số nhưng không gây ra sự nhầm lẫn. Ví dụ mã quốc gia của Việt Nam là 893 thì không thể có mã quốc gia nào khác là 89 (nếu có thì sẽ gây ra nhầm lẫn). Từ đó ta có thể có quy tắc để tự dò tìm mã quốc gia trên mã sản phẩm (13 chữ số) như sau: trước hết lấy 2 chữ số đầu tiên rồi so sánh với bảng mã trên, nếu không tìm được tên quốc gia thì lấy 3 chữ số đầu tiên rồi so sánh.

Tương tự như vậy, tên nhà sản xuất cũng được mã hóa. Ta thấy rằng nếu dùng 4 chữ số thì ta có thể mã hóa được 10.000 nhà sản xuất (từ 0000 đến 9999). Mã này được tổ chức quản lý EAN tại nước sở tại cấp cho nhà sản xuất. Như vậy ở Việt Nam, để quản lý mã vạch cho hơn 10.000 nhà sản xuất, chúng ta buộc phải dùng thêm các chuẩn mã hóa khác.

Tiếp theo, sản phẩm được mã hóa bởi một chuỗi 5 chữ số. Như vậy một nhà sản xuất có thể mã hóa được 100.000 sản phẩm khác nhau (từ 00000 đến 99999).

Quy tắc xác định ký tự mã hóa cuối cùng trong chuỗi mã hóa sản phẩm

Ký tự cuối cùng trong chuỗi 13 chữ số của mã sản phẩm được gọi là mã kiểm tra.

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ư đó.

Chúng ta thấy có vẻ như quy tắc xác định giá trị của mã kiểm tra giống như một trò chơi nhưng lại không có một ý nghĩa nào từ chữ số đó. Hiện tại, chúng tôi, những người biên tập nội dung này, cũng chưa tìm hiểu được ý nghĩa của kỹ tự này. Hy vọng rằng nó sẽ được khám phá vào đăng tải lại vào bài viết sớm nhất!!!

2. Quy tắc in mã vạch

Chúng ta dùng một chuỗi dạng như chuỗi nhị phân để “mã hóa bit” các chữ số từ 0 đến 9 kèm theo một quy tắc như trò chơi:

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

(Bảng mã hóa theo quy tắc chẵn lẻ)

Cũng là chữ số 0 nhưng nếu chúng ta theo quy tắc lẻ thì mã hóa của nó là 0001101, nhưng theo quy tắc chẵn thì lại là 0100111.

Khi in, các ký tự 0 và 1 sẽ được mã hóa và được máy in mã vạch hiểu và in bằng một vạch có độ rộng như nhau, ký tự 0 có màu trắng còn ký tự 1 có màu đen.

Tuy nhiên, ngoài các ký tự trong chuỗi mã hóa sản phẩm, người ta in thêm các vạch gọi là các vạch bảo vệ để giúp các thiết bị đọc mã vạch hoạt động chính xác hơn. Cụ thể quy tắc in mã vạch được thực hiện như sau:

Chữ số đầu tiên – Các vạch bảo vệ trái – 6 chữ số tiếp theo –  Các vạch bảo vệ trung tâm – 6 chữ số tiếp theo – Các vạch bảo vệ phải.

Quy tắc “mã hóa bit” 6 chữ số từ 2 đến 7 trong chuỗi mã sản phẩm xác định dựa theo chữ số đầu tiên của chuỗi, xác định theo bảng sau đâ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 chữ số từ 8 đến 13 được “mã hóa bit” được thực hiện bằng cách “đảo ngược bit” (đổi 0 thành 1 và ngược lại) của quy tắc lẻ. Giả sử chữ số ở vị trí thứ 10 là 5, theo quy tắc lẻ nó sẽ được mã hóa bằng 0110001, thế thì theo quy tắc đảo ngược bit, nó sẽ được mã hóa là 1001110.

Các vạch bảo vệ trái và phải được mã hóa thành 101, các vạch bảo vệ trung tâm được mã hóa thành 01010. Kết quả in mã vạch có dạng như hình vẽ bên:

(Chữ số đầu tiên cũng được in phía trong vạch bảo vệ trái, nhưng khi hiện thị thì nó lồi ra ngoài vạch bảo vệ trái để nhấn mạnh vai trò của nó)

Mặc dù quy tắc tạo mã sản phẩm và in mã vạch khá phức tạp như vậy, song đối với một đơn vị bán lẻ, chúng ta có thể tạo ra những mã vạch riêng cho mình. Chúng ta chỉ cần mã hóa các sản phẩm để phân biệt chúng với nhau, vì vậy, các thông số mã quốc gia hay nhà sản xuất là không cần thiết. Như vậy chúng ta có thể dùng 13 chữ số để đánh mã sản phẩm, và như vậy số lượng hóa có thể quản lý là rất nhiều.

3. Phần mềm in mã vạch

Mặc dù quy tắc mã hóa sản phẩm và quy tắc in mã vạch là khá phức tạp như mô tả ở trên, tuy nhiên các phần mềm chuyên dụng như Bartender sẽ in cho mã vạch cho chúng ta khi chúng nhận được một chuỗi ký tự số (13 chữ số).

Sau khi dán lên sản phẩm, mã vạch mang thông tin của sản phẩm và khi sử dụng máy quét mã vạch để hiển thị mã vạch của nó, chúng ta sẽ “giải mã” lại các thông tin đó của sản phẩm, giúp quá trình quản lý được nhanh chóng và tiết kiệm công sức gấp bội.

Tags :

Bài viết liên quan

Tìm hiểu về máy soi mã vạch hiện nay
Máy quét Honeywell chính hãng, giá tốt nhất thị trường
Mua máy quét mã vạch đa tia ở đâu uy tín?
Máy scan mã vạch là gì? Có tốt không?