Bài viết này cần thêm chú thích nguồn gốc để kiểm chứng thông tin. |
UPC-E là một biến thể của UPC-A cho phép tạo ra các mã vạch gọn gàng hơn bằng cách loại bỏ bớt các số 0 "dư thừa". Do vậy tạo ra mã vạch của UPC-E có kích thước chiều rộng chỉ cỡ một nửa kích thước ấy của mã vạch UPC-A (với cùng một mật độ in ấn), UPC-E nói chung được sử dụng trên các bao gói hàng hóa có kích thước nhỏ khi mã vạch của UPC-A không thể đưa vào được.
Không phải chuỗi số 12 số nào của UPC-A cũng có thể chuyển sang UPC-E. Chỉ có một số chuỗi có khả năng chuyển đổi đó. Quy tắc như sau:
Sau khi thực hiện xong việc chuyển đổi các mã nhà sản xuất và mã sản phẩm của UPC-A thành chuỗi số của UPC-E gồm 6 số, người ta bổ sung vào trước chuỗi này số hệ thống (0 hoặc 1) và vào sau chuỗi này số kiểm tra đã tính từ trước của UPC-A. Như vậy chuỗi số hoàn chỉnh của UPC-E như sau:
Số hệ thống + Chuỗi 6 số đã biến đổi + Số kiểm tra của UPC-A.
Quy tắc này được liệt kê trong bảng dưới đây:
UPC-A | UPC-E | Ví dụ UPC-A | Ví dụ UPC-E | Ghi chú |
---|---|---|---|---|
AB000-00HIJ | ABHIJ0 | 12000-00456 | 124560 | |
AB100-00HIJ | ABHIJ1 | 12100-00456 | 124561 | |
AB200-00HIJ | ABHIJ2 | 12200-00456 | 124563 | |
ABC00-000IJ | ABCIJ3 | 12300-00045 | 123453 | C từ 3 đến 9 |
ABCD0-0000J | ABCDJ4 | 12340-00005 | 123454 | |
ABCDE-0000J | ABCDEJ | 12345-00005 | 123455 | J từ 5 đến 9 |
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.
Mã vạch UPC-E có cấu trúc vật lý như sau:
Bảng dưới đây viết tắt với C là chẵn, L là lẻ.
Số kiểm tra | Số hệ thống 0 | Số hệ thống 1 |
---|---|---|
0 | CCCLLL | LLLCCC |
1 | CCLCLL | LLCLCC |
2 | CCLLCL | LLCCLC |
3 | CCLLLC | LLCCCL |
4 | CLCCLL | LCLLCC |
5 | CLLCCL | LCCLLC |
6 | CLLLCC | LCCCLL |
7 | CLCLCL | LCLCLC |
8 | CLCLLC | LCLCCL |
9 | CLLCLC | LCCLCL |
Chuỗi mã hóa nhị phân theo 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 |
Thông thường đối với UPC-E, người ta in các vạch bảo vệ dài hơn so với các vạch của 6 số được mã hóa về phía dưới. Sáu số này in ở dưới phần các vạch của chúng. Số hệ thống in ở góc bên trái, phía dưới và trước các vạch bảo vệ trái. Số kiểm tra được in ở góc bên phải, phía dưới và sau các vạch bảo vệ phải. Tám số này có mục đích để người bán (hay kiểm kê) hàng có thể nhập dữ liệu bằng tay khi vì một lý do nào đó mà máy quét không đọc được dữ liệu đã mã hóa trong các vạch.
Giả sử cần chuyển đổi chuỗi số UPC-A "123456000087" sang chuỗi UPC-E. (Quy tắc tính số kiểm tra: xem thêm bài UPC-A#Quy tắc tính
Tách chuỗi số này thành 4 phần.
Hai chuỗi số mã nhà sản xuất và mã sản phẩm phù hợp cho việc chuyển đổi sang UPC-E và giá trị của chuỗi UPC-E được tạo ra bằng "234568" (xem phần Chuyển UPC-A thành UPC-E trên đây). Do vậy chuỗi mã vạch UPC-E hoàn chỉnh là "12345687".
Áp dụng quy tắc chẵn lẻ cho số kiểm tra bằng 7 và số hệ thống bằng 1 ta có chuỗi mã hóa của 6 số sẽ là: LCLCLC. Do vậy chuỗi số 234568 sẽ được mã hóa như sau: