Code 128 (zapisywany też Code128), czyli kod kreskowy 128 (kod 128, ang. barcode 128), to liniowy (1D) kod o wysokiej gęstości, który zapisuje cały zestaw 128 znaków ASCII – cyfry, wielkie i małe litery, znaki specjalne i sterujące. To dziś jeden z najczęściej używanych kodów w logistyce, magazynach i na etykietach przesyłek.
Poniżej wyjaśniamy, jak zbudowany jest kod 128, czym różnią się jego zestawy znaków A, B i C, jak liczy się znak kontrolny i czym Code 128 różni się od GS1-128.
W tym artykule omówimy:
- Co to jest Code 128?
- Budowa kodu 128
- Zestawy znaków A, B i C
- Znak kontrolny
- Code 128 a GS1-128
- Zastosowanie kodu 128
- Jak odczytać i wygenerować kod 128?
Co to jest Code 128?
Code 128 opracowała w 1981 roku firma Computer Identics Corporation. Nazwa pochodzi od liczby znaków ASCII, które kod potrafi zapisać. Jest kodem o zmiennej długości, a dzięki zestawowi C zapisuje cyfry parami, więc długie numery zajmują w nim mało miejsca.

Budowa kodu 128
- Strefa ciszy – jasny margines przed kodem i za nim (co najmniej 10 modułów).
- Znak startu – Start A, Start B albo Start C. Wybiera zestaw znaków, od którego zaczyna się kod.
- Dane – każdy znak ma 11 modułów i składa się z 3 kresek i 3 przerw o szerokości od 1 do 4 modułów. Znaki stoją jeden przy drugim, bez odstępów.
- Znak kontrolny – obowiązkowy, liczony modulo 103.
- Znak stopu – 13 modułów (ze znakiem kończącym kod).
Kod 128 ma 107 symboli: 103 znaki danych o wartościach 0–102, trzy znaki startu (103, 104, 105) i znak stopu. Spośród kodów alfanumerycznych 1D – kod 39, kod 93 i Code 128 – to Code 128 zapisuje dane najgęściej, zwłaszcza długie ciągi cyfr.
Zestawy znaków A, B i C
| Zestaw | Co zapisuje | Kiedy |
|---|---|---|
| A | wielkie litery, cyfry, znaki interpunkcyjne i znaki sterujące ASCII (0–95) | dane ze znakami sterującymi, np. tabulator |
| B | wielkie i małe litery, cyfry, znaki interpunkcyjne (ASCII 32–127) | zwykły tekst |
| C | pary cyfr 00–99 – jeden znak to dwie cyfry | długie numery – kod jest o połowę krótszy |
Zestaw można zmienić w środku kodu znakiem CODE (na stałe) albo SHIFT (dla jednego znaku). Programy do etykiet wybierają zestawy same, tak żeby kod był jak najkrótszy.
Znak kontrolny
- Weź wartość znaku startu (Start A = 103, Start B = 104, Start C = 105).
- Do niej dodaj wartość każdego znaku danych pomnożoną przez jego pozycję: pierwszy znak po starcie × 1, drugi × 2 itd.
- Podziel sumę przez 103 – reszta to wartość znaku kontrolnego.
Przykład dla tekstu HDWR w zestawie B (wartość znaku = kod ASCII − 32: H = 40, D = 36, W = 55, R = 50): 104 + 40×1 + 36×2 + 55×3 + 50×4 = 581, a 581 mod 103 = 66. Znak kontrolny ma wartość 66 – w zestawie B to litera „b”. Czytnik sprawdza go i nie przekazuje dalej.
Code 128 a GS1-128
GS1-128 – dawniej kod kreskowy EAN 128 – to nie osobny kod, tylko Code 128 ze znakiem FNC1 po starcie i danymi w formacie GS1: numerem GTIN, numerem partii, datą ważności czy numerem SSCC palety, każde poprzedzone identyfikatorem zastosowania (AI). Każdy GS1-128 jest więc kodem 128, ale nie każdy kod 128 jest GS1-128.
Czy wiesz, że...
- Nazwa Code 128 pochodzi od 128 znaków ASCII, które kod potrafi zapisać.
- W zestawie C jeden znak kodu zapisuje dwie cyfry, więc długi numer przesyłki zajmuje o połowę mniej miejsca.
- Numery przesyłek UPS (zaczynające się od 1Z) na etykietach są zapisane właśnie w Code 128.
Zastosowanie kodu 128
- Etykiety przesyłek – numery przesyłek kurierskich i pocztowych.
- Logistyka i magazyn – etykiety palet (SSCC w GS1-128), lokalizacje, numery części i dokumentów.
- Produkcja – numery seryjne i partie, także z literami.
- Opieka zdrowotna – opaski identyfikacyjne pacjentów i etykiety próbek.
Na produktach w sklepie stosuje się natomiast kod EAN – Code 128 służy do oznaczeń wewnętrznych i logistycznych.
Gdy danych jest więcej, niż zmieści kod 1D, zamiast Code 128 stosuje się kod 2D – kod QR albo kod DataMatrix.
Jak odczytać i wygenerować kod 128?
Code 128 odczyta każdy czytnik kodów 1D i 2D – laserowy, liniowy i obrazowy – zwykle bez zmiany ustawień. Kod stworzysz za darmo: generator kodów kreskowych 128 HDWR ma Code 128 i GS1-128, a wydrukujesz go na drukarce termicznej do etykiet.
Drukujesz albo skanujesz kody 128?
Sprzęt HDWR do kodów kreskowych – czytniki odczytają kod 128 na etykietach przesyłek i palet, a drukarka termiczna wydrukuje etykiety bez tuszu i tonera.
Podsumowanie
Code 128 to gęsty kod 1D z pełnym zestawem ASCII, trzema zestawami znaków (A, B, C) i obowiązkowym znakiem kontrolnym modulo 103. Znak ma 11 modułów, a zestaw C zapisuje cyfry parami. To podstawa kodu GS1-128 i standard etykiet logistycznych i przesyłek.

