Kod kreskowy, kod paskowy (ang. barcode) jest to graficzna reprezentacja informacji poprzez kombinację ciemnych i jasnych elementów, ustaloną według symboliki reguł opisujących budowę kodu, (np. jego wymiary, zbiór kodowanych znaków, algorytm obliczania cyfry kontrolnej i inne) danego kodu. Kod kreskowy przeznaczony jest dla czytników elektronicznych. Ma na celu umożliwienie automatycznego odczytywania informacji. Głównym zastosowaniem kodu kreskowego jest automatyczna identyfikacja produktów w szeroko pojętej logistyce.
W trakcie odczytywania kodu techniką skanowania, światło pochodzące z czytnika, uformowane w cienką wiązkę (laser), przesuwa się wzdłuż czytanego kodu, w danym momencie oświetla niewielki punkt kodu, następnie światło to jest odbijane przez jasne elementy kodu (przerwy), a pochłaniane przez jego ciemne elementy (kreski, pola), co odczytuje fotodioda. Światło odbite od przerw powoduje powstanie w czytniku silniejszych sygnałów elektrycznych, natomiast w wyniku braku odbicia (kreski) powstają sygnały słabsze. W zależności od grubości kresek/przerw, różny jest też czas trwania poszczególnych sygnałów. Czas trwania każdego impulsu koduje informacje, które są tłumaczone przez dekoder czytnika na cyfry, litery lub inne znaki i przesyłane do komputera.
Występują również kody wykorzystujące więcej niż dwa kolory (np. Ultracode), co umożliwia zapisanie większej ilości informacji.
Kodowanie symboli może przebiegać również w inny sposób, np. na podstawie różnic wysokości. Ma to miejsce w kodach Bumpy Bar Code.
Występuje około 250 rozwiązań w dziedzinie kodów kreskowych. W związku z tym istnieje kilka sposobów ich podziału:
- Podział według wymiarowości kodu:
- jednowymiarowe (liniowe, 1D) – informacje zapisane są w jednej linii (najczęściej w postaci kresek);
- dwuwymiarowe piętrowe – rozwinięcie kodów jednowymiarowych polegające na istnieniu kilku linii kodu, jedna pod drugą;
- dwuwymiarowe matrycowe – informacja zapisana jest na określonej powierzchni, z tym że do zapisu nie są wykorzystywane kreski, lecz inne oznaczenia;
- kody złożone – występują w nich zarówno elementy kodów jednowymiarowych, jak i dwuwymiarowych;
- kody trójwymiarowe – zazwyczaj są to wytłaczane dowolne kody jednowymiarowe (Bumpy Bar Code). Różnica polega na tym, iż w zapisie/odczycie zamiast różnic w kolorach wykorzystuje się różnice głębokości tłoczenia.
- Podział według szerokości kresek:
- kody o jednej szerokości kresek (np. PosiCode) – kodowanie polega na występowaniu, bądź nie, kreski w określonym miejscu;
- kody o dwóch szerokościach kresek;
- kody o wielu szerokościach kresek (modularne).
- Podział według rodzaju kodowanych symboli:
- numeryczne – kodowane są jedynie cyfry w systemie dziesiętnym;
- alfanumeryczne – kodowane są cyfry i pozostałe znaki kodu ASCII, czasem również znaki występujące w niektórych alfabetach.
- Podział według ciągłości kodu (nie dotyczy kodów matrycowych):
- kody ciągłe – nie występują w nich przerwy między kodowanymi znakami;
- kody dyskretne – występują przerwy między kodowanymi znakami.
- Podział według ilości kodowanych znaków:
- kody o ściśle określonej liczbie kodowanych znaków (o stałej długości);
- kody o różnej liczbie kodowanych znaków (o zmiennej długości).
- Podział według przyjętej metody weryfikacji odczytanych danych:
- kody samosprawdzalne (np. wszystkie kody typu m z n) – pewne procedury sprawdzania błędów są zaimplementowane w budowie kodu. Np. poszczególne symbole są kodowane tak, aby różnić się od siebie maksymalnie, a zatem błędne odczytanie jednej kreski powoduje automatyczną niepoprawność kodu;
- kody ze znakiem kontrolnym (np. z cyfrą kontrolną);
- kody samosprawdzalne z dodatkowym znakiem kontrolnym.
Więcej na: Wikipedia - Kod kreskowy