Kod kreskowy to graficzne odzwierciedlenie określonych znaków poprzez kombinację ciemnych i jasnych elementów, ustaloną według przyjętych reguł budowy danego kodu (symboliki). Rozróżnia się znaki kodujące dane oraz znaki pomocnicze, charakterystyczne dla danej symboliki.

Symbolika to opis zasad tworzenia poszczególnych rodzajów kodów, czyli sposobu, w jaki znaki pisma, czytelne wzrokowo, odwzorowane są poprzez jasne i ciemne elementy o różnej szerokości.


Symbol kodu kreskowego składa się z zestawu elementów, których struktura wynika z danej symboliki oraz ze znaków czytelnych wzrokowo, przedstawionych graficznie.
Typ
Code 128, jednowymiarowy kod kreskowy typu 4W, w którym występują paski o czterech różnych szerokościach.
Kodowane znaki
Kodowane znaki: A: ASCII(0)-ASCII(95), B: ASCII(32)-ASCII(127), C: cyfry 0-9. Długość kodu: zmienna.
Opis
Kod Code 128 jest alfanumerycznym kodem o bardzo dużej gęstości. Ilość kodowanych znaków może być dowolna. Kodowane mogą być wszystkie 128 znaków ASCII. Kod ten zajmuje najmniej miejsca spośród kodów jednowymiarowych dla 6 lub więcej znaków.
Każdy kodowany znak składa się z 11 czarnych lub białych modułów. Znak stopu składa się z 13 modułów. 11 modułów składa się na trzy paski i trzy odstępy. Paski i odstępy mogą składać się z od 1 do 4 modułów.
Kod kreskowy Code 128 składa się z:
  • Cicha strefa (przynajmniej 10 razy szersza niż wąski pasek)
  • Znak start
  • Zmienna ilość danych
  • Suma kontrolna
  • Znak stop
  • Cicha strefa (przynajmniej 10 razy szersza niż wąski pasek)
Jest 106 różnych kombinacji ustawień pasków i odstępów. Każdej takiej kombinacji można przypisać jedno z trzech znaczeń. To znaczenie określa się poprzez jeden z trzech różnych znaków startowych. Znak startowy Code A pozwala na kodowanie wszystkich standardowych alfanumerycznych znaków plus znaki sterujące i specjalne znaki. Znak startowy Code B włącza wszystkie standardowe znaki alfanumeryczne plus małe litery oraz specjalne znaki. Znak startowy Code C obejmuje 100 par cyfr od 00 do 99 i może być używany do podwojenia gęstości kodowania danych numerycznych.
Wewnątrz kodu można zmienić zestaw kodowanych znaków na inny (A, B, C) stosując specjalne znaki CODE i SHIFT. Znak CODE zmienia zestaw znaków dla wszystkich kolejnych znaków w kodzie. Znak SHIFT zmienia zestaw znaków tylko dla następnego znaku i te zmiany są pomiędzy zestawami: Code A i Code B.
Kody FNC określają instrukcje dla czytnika kodów kreskowych. FNC 1 jest zarezerwowane dla przyszłego użycia. FNC 2 informuje czytnik, aby zgromadził dane i przesłać je z następnym kodem. FNC 3 jest zarezerwowany do inicjalizacji czytnika i innych funkcji czytnika. FNC 4 jest zarezerwowany dla przyszłych zastosowań.
Każdy znak ma wartość od 0 do 105. Ta wartość jest używana do obliczania sumy kontrolnej dla każdego kodu.
Suma kontrolna
Poniżej przedstawiony jest sposób obliczania sumy kontrolnej wraz z przykładem obliczeń dla "Code 128"
  1. Przypisz wagę do każdego znaku, której wartość odpowiada numerowi pozycji znaku w kodzie.

    Znak C o d e   1 2 8
    Waga 1 2 3 4 5 6 7 8
    Wartość 35 79 68 69 0 17 18 24
  2. Dla każdego znaku przemnóż jego wartość przez wagę i zsumuj wszystko. Dodaj wartość dla symbolu startowego. 1*35 + 2*79 + 3*68 + 4*69 + 5*0 + 6*17 + 7*18 + 8*24 + 104 = 1197
  3. Oblicz resztę z dzielenia wartości otrzymanej w punkcie drugim przez 103. 1197 mod 103 = 64
  4. Sumą kontrolną jest znak, którego wartość jest równa wynikowi z trzeciego punktu. ZNAK (64) = `
Kod wraz z sumą kontrolną ma więc postać: "(Start B)Code 128`(Stop)"
Zastosowanie
Stosowany jest głównie do oznaczania urządzeń telekomunikacyjnych.
Tabela
Pierwsza kolumna zawiera wartości znaków. W następnych trzech są zestawy znaków: A, B, C. Kolejne cyfry w danej komórce z ostatniej kolumny oznaczają z ilu modułów składają się kolejne elementy (pasek - odstęp - pasek - odstęp - pasek - odstęp - pasek - odstęp)

Wartość Zestaw
Code A
Zestaw
Code B
Zestaw
Code C
Szerokość Pasek/Odstęp
P O P O P O
0SPACESPACE002 1 2 2 2 2
1!!012 2 2 1 2 2
2""022 2 2 2 2 1
3##031 2 1 2 2 3
4$$041 2 1 3 2 2
5%%051 3 1 2 2 2
6&&061 2 2 2 1 3
7''071 2 2 3 1 2
8((081 3 2 2 1 2
9))092 2 1 2 1 3
10**102 2 1 3 1 2
11++112 3 1 2 1 2
12,,121 1 2 2 3 2
13--131 2 2 1 3 2
14..141 2 2 2 3 1
15//151 1 3 2 2 2
1600161 2 3 1 2 2
1711171 2 3 2 2 1
1822182 2 3 2 1 1
1933192 2 1 1 3 2
2044202 2 1 2 3 1
2155212 1 3 2 1 2
2266222 2 3 1 1 2
2377233 1 2 1 3 1
2488243 1 1 2 2 2
2599253 2 1 1 2 2
26::263 2 1 2 2 1
27;;273 1 2 2 1 2
28<<283 2 2 1 1 2
29==293 2 2 2 1 1
30>>302 1 2 1 2 3
31??312 1 2 3 2 1
32@@322 3 2 1 2 1
33AA331 1 1 3 2 3
34BB341 3 1 1 2 3
35CC351 3 1 3 2 1
36DD361 1 2 3 1 3
37EE371 3 2 1 1 3
38FF381 3 2 3 1 1
39GG392 1 1 3 1 3
40HH402 3 1 1 1 3
41II412 3 1 3 1 1
42JJ421 1 2 1 3 3
43KK431 1 2 3 3 1
44LL441 3 2 1 3 1
45MM451 1 3 1 2 3
46NN461 1 3 3 2 1
47OO471 3 3 1 2 1
48PP483 1 3 1 2 1
49QQ492 1 1 3 3 1
50RR502 3 1 1 3 1
51SS512 1 3 1 1 3
52TT522 1 3 3 1 1
53UU532 1 3 1 3 1
54VV543 1 1 1 2 3
55WW553 1 1 3 2 1
56XX563 3 1 1 2 1
57YY573 1 2 1 1 3
58ZZ583 1 2 3 1 1
59[[593 3 2 1 1 1
60\\603 1 4 1 1 1
61]]612 2 1 4 1 1
62^^624 3 1 1 1 1
63__631 1 1 2 2 4
64NUL`641 1 1 4 2 2
65SOHa651 2 1 1 2 4
66STXb661 2 1 4 2 1
67ETXc671 4 1 1 2 2
68EOTd681 4 1 2 2 1
69ENQe691 1 2 2 1 4
70ACKf701 1 2 4 1 2
71BELg711 2 2 1 1 4
72BSh721 2 2 4 1 1
73HTi731 4 2 1 1 2
74LFj741 4 2 2 1 1
75VTk752 4 1 2 1 1
76FFI762 2 1 1 1 4
77CRm774 1 3 1 1 1
78SOn782 4 1 1 1 2
79SIo791 3 4 1 1 1
80DLEp801 1 1 2 4 2
81DC1q811 2 1 1 4 2
82DC2r821 2 1 2 4 1
83DC3s831 1 4 2 1 2
84DC4t841 2 4 1 1 2
85NAKu851 2 4 2 1 1
86SYNv864 1 1 2 1 2
87ETBw874 2 1 1 1 2
88CANx884 2 1 2 1 1
89EMy892 1 2 1 4 1
90SUBz902 1 4 1 2 1
91ESC{914 1 2 1 2 1
92FS|921 1 1 1 4 3
93GS}931 1 1 3 4 1
94RS~941 3 1 1 4 1
95USDEL951 1 4 1 1 3
96FNC 3FNC 3961 1 4 3 1 1
97FNC 2FNC 2974 1 1 1 1 3
98SHIFTSHIFT984 1 1 3 1 1
99CODE CCODE C991 1 3 1 4 1
100CODE BFNC 4CODE B1 1 4 1 3 1
101FNC 4CODE ACODE A3 1 1 1 4 1
102FNC 14 1 1 1 3 1
103Start A2 1 1 4 1 2
104Start B2 1 1 2 1 4
105Start C2 1 1 2 3 2
106Stop2 3 3 1 1 1 2
Zastosowanie
Kod ten ma szerokie zastosowanie. Jest używany między innymi w magazynach, logistyce (opakowania transportowe), sprzedaży detalicznej (daty produkcji, okresy trwałości).
Przykład



Przykład wygenerował program HDF® BarCode System.
2005 © HDF Sp. z o.o.