Code 128 có ba bộ ký tự (subset, code set) A, B, C chia sẻ cùng một bảng 103 ký hiệu vạch: bộ A gồm chữ in hoa, số, ký hiệu và ký tự điều khiển ASCII 0–31; bộ B gồm chữ in hoa, chữ thường, số, ký hiệu; bộ C gồm 100 cặp chữ số 00–99. Mã bắt đầu bằng ký tự Start A, B hoặc C và có thể chuyển bộ giữa chừng bằng ký tự Code hoặc Shift.
Bộ C là lý do Code 128 nén số rất tốt: mỗi ký hiệu chứa hai chữ số nên chuỗi toàn số ngắn gần một nửa so với bộ B. Bộ mã hóa tối ưu (như bwip-js dùng) tự chọn bộ và điểm chuyển để mã ngắn nhất; người dùng không cần chọn tay. GS1-128 luôn bắt đầu bằng Start + FNC1.
Với phần mềm dùng font Code 128 (Excel, Word), người dùng phải tự chọn bộ, tính ký tự start, checksum mod 103 và stop, nên dễ sai; đây là lý do đa số hướng dẫn Excel chỉ dạy Code 39. Tool Code 128 của trang hiện bộ đang dùng và cho ép bộ khi máy quét cũ yêu cầu.
Ví dụ
DH2026-000123: bộ B cho “DH”, chuyển sang bộ C cho “2026”, bộ B cho “-“, bộ C cho “000123”; tổng 13 ký tự dữ liệu mã hóa thành 9 ký hiệu thay vì 13.
Liên quan
- Tạo mã vạch Code 128 — xem bộ ký tự đang dùng
- Tạo mã GS1-128 — Start + FNC1
- Code 128 là gì — tổng quan loại mã