Dowiedz się więcej

Czym jest Code-39 i co można w nim zakodować?

Code-39 to jeden z najstarszych i najszerzej wspieranych kodów liniowych. Koduje cyfry 0-9, wielkie litery A-Z, spację oraz znaki - . $ / + %. Nie wymaga cyfry kontrolnej, a odczytuje go praktycznie każdy skaner - stąd popularność w przemyśle, motoryzacji (standardy AIAG) i logistyce wojskowej (LOGMARS).

Code-39 czy Code-128 - który wybrać?

Code-128 jest wyraźnie gęstszy (ten sam tekst = krótszy kod), koduje też małe litery i ma obowiązkową sumę kontrolną - do nowych wdrożeń zwykle jest lepszym wyborem. Code-39 wygrywa tam, gdzie liczy się kompatybilność ze starszymi czytnikami i systemami, które innych symbologii nie obsługują. Pełne porównanie w poradniku Code-128 a Code-39.

Dlaczego mój tekst został zamieniony na wielkie litery?

Standardowy Code-39 nie zawiera małych liter - generator zamienia je automatycznie na wielkie, a znaki spoza zestawu pomija (z adnotacją przy wyniku). Jeśli potrzebujesz małych liter lub polskich znaków w postaci danych, użyj Code-128 albo kodu QR.

Jak wpisywać dane - format i zasady walidacji

Code-39 koduje cyfry, wielkie litery, spację i znaki - . $ / + %. W pole poniżej wpisz treści kodów oddzielone przecinkiem lub każdą w nowym wierszu (max 20 na raz, do 43 znaków każda).

  • Małe litery zamieniamy na wielkie; znaki spoza zestawu pomijamy (z adnotacją).
  • Cyfra kontrolna nie jest wymagana - kod działa bez niej.
  • Im dłuższa treść, tym szerszy symbol - dłuższe dane lepiej zakodować w Code-128.
Ładowanie generatora…

Code-39: weteran kodów przemysłowych

Code-39 powstał w 1974 roku jako pierwszy kod kreskowy zdolny zapisać litery, a nie tylko cyfry. Przez dekady był standardem w przemyśle motoryzacyjnym, w wojsku (specyfikacja LOGMARS amerykańskiego Departamentu Obrony), w służbie zdrowia (etykiety HIBC na wyrobach medycznych) oraz w ewidencji środków trwałych, bibliotekach i archiwach. Choć nowsze symboliki są gęstsze, Code-39 wciąż jest szeroko używany tam, gdzie liczy się prostota: da się go wydrukować dowolną drukarką, odczytać niemal każdym skanerem i wygenerować bez skomplikowanego oprogramowania.

Zestaw 43 znaków i gwiazdki start/stop

Podstawowy alfabet Code-39 liczy 43 znaki: 26 wielkich liter A-Z, 10 cyfr 0-9 oraz siedem znaków specjalnych: myślnik, kropka, spacja, dolar, ukośnik, plus i procent. Małe litery nie są dostępne - generator zazwyczaj zamienia je na wielkie. Każdy symbol zaczyna się i kończy znakiem gwiazdki (*), który pełni rolę wyłącznie sygnału start/stop i nie jest częścią danych; w tekście pod kodem zwykle się go nie drukuje. Istnieje też rozszerzona odmiana Code-39 Full ASCII, w której pary znaków (np. +A) reprezentują małe litery i pozostałe znaki ASCII, ale skaner musi mieć włączone takie dekodowanie, więc stosuje się ją rzadko.

Dlaczego Code-39 jest samokontrolny

Nazwa „39" odnosi się do pierwotnej konstrukcji: każdy znak zbudowany jest z 9 elementów (5 kresek i 4 odstępów), z których dokładnie 3 są szerokie. Taka budowa sprawia, że pojedynczy błąd druku niemal nigdy nie zamieni jednego poprawnego znaku w inny poprawny znak - kod jestsamokontrolny, dlatego suma kontrolna jest opcjonalna. Jeżeli jednak dane są krytyczne, można dodać znak kontrolny liczony modulo 43: każdemu znakowi przypisuje się wartość 0-42, sumuje się je, a reszta z dzielenia przez 43 daje znak kontrolny. Skaner musi mieć wtedy włączoną weryfikację, inaczej wyświetli znak kontrolny jako zwykły element danych - to częsta przyczyna niezgodności między etykietą a bazą.

Code-39 a Code-128: gęstość i szerokość

Znak Code-39 zajmuje od 13 do 16 modułów (w zależności od proporcji szerokich i wąskich kresek, typowo 1:2,5 lub 1:3), a do tego między znakami stoi odstęp międzyznakowy. Dla porównania znak Code-128 to zawsze 11 modułów, a cyfry w podzbiorze C upakowane są parami. W efekcie ten sam dziesięcioznakowy numer w Code-39 jest mniej więcej dwukrotnie szerszy. Dlatego przy małych etykietach lub długich numerach seryjnych warto rozważyć Code-128, a Code-39 zostawić dla krótkich identyfikatorów, gdzie liczy się zgodność ze starszym sprzętem lub wymagania branżowe. Szczegółowe zestawienie obu standardów znajdziesz w artykule Code-128 a Code-39, a przegląd pozostałych symbolik w tekście rodzaje kodów kreskowych.

Druk i najczęstsze błędy

Code-39 wybacza wiele, ale nie wszystko. Podstawowe zasady: szerokość wąskiego modułu nie mniejsza niż 0,19 mm (najlepiej 0,25-0,5 mm), stosunek szeroki:wąski między 2:1 a 3:1 utrzymany konsekwentnie w całym symbolu, wysokość kresek co najmniej 15% długości kodu i strefy ciszy po obu stronach minimum 10 modułów. Typowe pomyłki to ręczne dopisywanie gwiazdek do danych (wtedy w kodzie pojawiają się dwie pary znaków start/stop), wpisywanie małych liter lub polskich znaków, których alfabet nie zawiera, oraz rozciąganie gotowej grafiki PNG w edytorze - zmienia to proporcje kresek i psuje samokontrolę. Do druku zawsze pobieraj plik wektorowy, a jeśli masz wątpliwości co do minimalnych odstępów wokół symbolu, zajrzyj do poradnika ciche strefy kodu kreskowego.