b'\n_START_ARTICLE_\nKod 128\n_START_PARAGRAPH_\nKod 128 (code128) \xe2\x80\x93 alfanumeryczny jednowymiarowy kod kreskowy wysokiej rozdzielczo\xc5\x9bci. Zosta\xc5\x82 stworzony do zakodowania 128 znak\xc3\xb3w ASCII, do kodowania u\xc5\xbcywa si\xc4\x99 kreski i przerwy o czterech mo\xc5\xbcliwych szeroko\xc5\x9bciach, co czyni go zwartym kodem._NEWLINE_Kod 128 mo\xc5\xbce by\xc4\x87 skanowany w ka\xc5\xbcdym kierunku i nie ma ogranicze\xc5\x84 co do d\xc5\x82ugo\xc5\x9bci samego kodu._NEWLINE_Ka\xc5\xbcdy znak Kodu 128 sk\xc5\x82ada si\xc4\x99 z 11 czarnych i bia\xc5\x82ych modu\xc5\x82\xc3\xb3w (wykorzystuje zatem 11 bit\xc3\xb3w), wyj\xc4\x85tkiem jest znak Stop, kt\xc3\xb3ry sk\xc5\x82ada si\xc4\x99 z 13 modu\xc5\x82\xc3\xb3w. 11 modu\xc5\x82\xc3\xb3w musi tworzy\xc4\x87 nast\xc4\x99puj\xc4\x85cy schemat \xe2\x80\x93 Pasek Przerwa Pasek Przerwa Pasek Przerwa o d\xc5\x82ugo\xc5\x9bci od 1 do 4 modu\xc5\x82\xc3\xb3w ka\xc5\xbcdy (11 bit\xc3\xb3w daje 2048 mo\xc5\xbcliwo\xc5\x9bci, z czego 216 jest mo\xc5\xbcliwych do wykorzystania \xe2\x80\x93 Code 128 wykorzystuje tylko 107)_NEWLINE_Przyk\xc5\x82ad: znak a = 10010110000 > (1)x1 (2)x0 (1)x1 (1)x0 (2)x1 (4)x0  >  1 2 1 1 2 4_NEWLINE_Nie licz\xc4\x85c znaku STOP, mamy do dyspozycji 106 kombinacji czarnych i bia\xc5\x82ych modu\xc5\x82\xc3\xb3w. Ka\xc5\xbcda z tych kombinacji mo\xc5\xbce by\xc4\x87 wykorzystana do okre\xc5\x9blenia znaku w jednym z trzech zestaw\xc3\xb3w znak\xc3\xb3w (Code Set A, B i C). Wyb\xc3\xb3r konkretnego zestawu dokonujemy poprzez u\xc5\xbcycie odpowiedniego znaku startowego (START A \xe2\x80\x93 103, START B \xe2\x80\x93 104, START C \xe2\x80\x93 105). Mamy r\xc3\xb3wnie\xc5\xbc do dyspozycji specjalne znaki CODE i SHIFT. Pozwalaj\xc4\x85 one na zmian\xc4\x99 zestawu znak\xc3\xb3w w trakcie skanowania (CODE zmienia zestaw od danego momentu, SHIFT tylko dla nast\xc4\x99pnego znaku). W zestawie znak\xc3\xb3w znajduj\xc4\x85 si\xc4\x99 tak\xc5\xbce znaki funkcyjne (FNC) \xe2\x80\x93 FNC1 okre\xc5\x9bla np. standard GS1-128._NEWLINE_Ka\xc5\xbcdy znak ma warto\xc5\x9b\xc4\x87 od 0 do 105, warto\xc5\x9b\xc4\x87 ta jest wykorzystywana do obliczenia znaku kontrolnego.\n_START_SECTION_\nObliczanie znaku kontrolnego\n_START_PARAGRAPH_\nZnak kontrolny jest reszt\xc4\x85 z dzielenia sumy znaku start i iloczyn\xc3\xb3w warto\xc5\x9bci znak\xc3\xb3w i ich pozycji przez 103 (liczb\xc4\x99 znak\xc3\xb3w mo\xc5\xbcliwych do wykorzystania jako znak kontrolny). Dla tekstu Code 128 wygl\xc4\x85da to nast\xc4\x99puj\xc4\x85co:_NEWLINE_                              Warto\xc5\x9b\xc4\x87    Suma_NEWLINE_      =====                 =====_NEWLINE_             Start Code B      104                   104_NEWLINE_Pozycja 1              C       35         1 x 35 =    35_NEWLINE_Pozycja 2              o       79         2 x 79 =   158_NEWLINE_Pozycja 3              d       68         3 x 68 =   204_NEWLINE_Pozycja 4              e       69         4 x 69 =   276_NEWLINE_Pozycja 5                       0         5 x  0 =     0_NEWLINE_Pozycja 6              1       17         6 x 17 =   102_NEWLINE_Pozycja 7              2       18         7 x 18 =   126_NEWLINE_Pozycja 8              8       24         8 x 24 =   192_NEWLINE_                                                    =====_NEWLINE_                                                    1197_NEWLINE_                                                    =====_NEWLINE_             1197 mod 103 = 64_NEWLINE_Znakiem kontrolnym jest znak z warto\xc5\x9bci\xc4\x85 64 \xe2\x80\x93 jest to w tym przypadku `\n_START_SECTION_\nTablica znak\xc3\xb3w Kodu 128\n_START_PARAGRAPH_\nWar   Code A   Code B   Code C     Paski/_NEWLINE_to\xc5\x9b\xc4\x87                                   Przerwy_NEWLINE_ 0    spacja   spacja     00       2 1 2 2 2 2_NEWLINE_ 1     !        !         01       2 2 2 1 2 2_NEWLINE_ 2     "        "         02       2 2 2 2 2 1_NEWLINE_ 3     #        #         03       1 2 1 2 2 3_NEWLINE_ 4     $        $         04       1 2 1 3 2 2_NEWLINE_ 5     %        %         05       1 3 1 2 2 2_NEWLINE_ 6     &        &         06       1 2 2 2 1 3_NEWLINE_ 7     \'        \'         07       1 2 2 3 1 2_NEWLINE_ 8     (        (         08       1 3 2 2 1 2_NEWLINE_ 9     )        )         09       2 2 1 2 1 3_NEWLINE_ 10    *        *         10       2 2 1 3 1 2_NEWLINE_ 11    +        +         11       2 3 1 2 1 2_NEWLINE_ 12    ,        ,         12       1 1 2 2 3 2_NEWLINE_ 13    -        -         13       1 2 2 1 3 2_NEWLINE_ 14    .        .         14       1 2 2 2 3 1_NEWLINE_ 15    /        /         15       1 1 3 2 2 2_NEWLINE_ 16    0        0         16       1 2 3 1 2 2_NEWLINE_ 17    1        1         17       1 2 3 2 2 1_NEWLINE_ 18    2        2         18       2 2 3 2 1 1_NEWLINE_ 19    3        3         19       2 2 1 1 3 2_NEWLINE_ 20    4        4         20       2 2 1 2 3 1_NEWLINE_ 21    5        5         21       2 1 3 2 1 2_NEWLINE_ 22    6        6         22       2 2 3 1 1 2_NEWLINE_ 23    7        7         23       3 1 2 1 3 1_NEWLINE_ 24    8        8         24       3 1 1 2 2 2_NEWLINE_ 25    9        9         25       3 2 1 1 2 2_NEWLINE_ 26    :        :         26       3 2 1 2 2 1_NEWLINE_ 27    ;        ;         27       3 1 2 2 1 2_NEWLINE_ 28    <        <         28       3 2 2 1 1 2_NEWLINE_ 29    =        =         29       3 2 2 2 1 1_NEWLINE_ 30    >        >         30       2 1 2 1 2 3_NEWLINE_ 31    ?        ?         31       2 1 2 3 2 1_NEWLINE_ 32    @        @         32       2 3 2 1 2 1_NEWLINE_ 33    A        A         33       1 1 1 3 2 3_NEWLINE_ 34    B        B         34       1 3 1 1 2 3_NEWLINE_ 35    C        C         35       1 3 1 3 2 1_NEWLINE_ 36    D        D         36       1 1 2 3 1 3_NEWLINE_ 37    E        E         37       1 3 2 1 1 3_NEWLINE_ 38    F        F         38       1 3 2 3 1 1_NEWLINE_ 39    G        G         39       2 1 1 3 1 3_NEWLINE_ 40    H        H         40       2 3 1 1 1 3_NEWLINE_ 41    I        I         41       2 3 1 3 1 1_NEWLINE_ 42    J        J         42       1 1 2 1 3 3_NEWLINE_ 43    K        K         43       1 1 2 3 3 1_NEWLINE_ 44    L        L         44       1 3 2 1 3 1_NEWLINE_ 45    M        M         45       1 1 3 1 2 3_NEWLINE_ 46    N        N         46       1 1 3 3 2 1_NEWLINE_ 47    O        O         47       1 3 3 1 2 1_NEWLINE_ 48    P        P         48       3 1 3 1 2 1_NEWLINE_ 49    Q        Q         49       2 1 1 3 3 1_NEWLINE_ 50    R        R         50       2 3 1 1 3 1_NEWLINE_ 51    S        S         51       2 1 3 1 1 3_NEWLINE_ 52    T        T         52       2 1 3 3 1 1_NEWLINE_ 53    U        U         53       2 1 3 1 3 1_NEWLINE_ 54    V        V         54       3 1 1 1 2 3_NEWLINE_ 55    W        W         55       3 1 1 3 2 1_NEWLINE_ 56    X        X         56       3 3 1 1 2 1_NEWLINE_ 57    Y        Y         57       3 1 2 1 1 3_NEWLINE_ 58    Z        Z         58       3 1 2 3 1 1_NEWLINE_ 59    [        [         59       3 3 2 1 1 1_NEWLINE_ 60    \\        \\         60       3 1 4 1 1 1_NEWLINE_ 61    ]        ]         61       2 2 1 4 1 1_NEWLINE_ 62    ^        ^         62       4 3 1 1 1 1_NEWLINE_ 63    _        _         63       1 1 1 2 2 4_NEWLINE_ 64    NUL      `         64       1 1 1 4 2 2_NEWLINE_ 65    SOH      a         65       1 2 1 1 2 4_NEWLINE_ 66    STX      b         66       1 2 1 4 2 1_NEWLINE_ 67    ETX      c         67       1 4 1 1 2 2_NEWLINE_ 68    EOT      d         68       1 4 1 2 2 1_NEWLINE_ 69    ENQ      e         69       1 1 2 2 1 4_NEWLINE_ 70    ACK      f         70       1 1 2 4 1 2_NEWLINE_ 71    BEL      g         71       1 2 2 1 1 4_NEWLINE_ 72    BS       h         72       1 2 2 4 1 1_NEWLINE_ 73    HT       i         73       1 4 2 1 1 2_NEWLINE_ 74    LF       j         74       1 4 2 2 1 1_NEWLINE_ 75    VT       k         75       2 4 1 2 1 1_NEWLINE_ 76    FF       l         76       2 2 1 1 1 4_NEWLINE_ 77    CR       m         77       4 1 3 1 1 1_NEWLINE_ 78    SO       n         78       2 4 1 1 1 2_NEWLINE_ 79    SI       o         79       1 3 4 1 1 1_NEWLINE_ 80    DLE      p         80       1 1 1 2 4 2_NEWLINE_ 81    DC1      q         81       1 2 1 1 4 2_NEWLINE_ 82    DC2      r         82       1 2 1 2 4 1_NEWLINE_ 83    DC3      s         83       1 1 4 2 1 2_NEWLINE_ 84    DC4      t         84       1 2 4 1 1 2_NEWLINE_ 85    NAK      u         85       1 2 4 2 1 1_NEWLINE_ 86    SYN      v         86       4 1 1 2 1 2_NEWLINE_ 87    ETB      w         87       4 2 1 1 1 2_NEWLINE_ 88    CAN      x         88       4 2 1 2 1 1_NEWLINE_ 89    EM       y         89       2 1 2 1 4 1_NEWLINE_ 90    SUB      z         90       2 1 4 1 2 1_NEWLINE_ 91    ESC      {         91       4 1 2 1 2 1_NEWLINE_ 92    FS       |         92       1 1 1 1 4 3_NEWLINE_ 93    GS       }         93       1 1 1 3 4 1_NEWLINE_ 94    RS      ~          94       1 3 1 1 4 1_NEWLINE_ 95    US       DEL       95       1 1 4 1 1 3_NEWLINE_ 96    FNC 3    FNC 3     96       1 1 4 3 1 1_NEWLINE_ 97    FNC 2    FNC 2     97       4 1 1 1 1 3_NEWLINE_ 98    SHIFT    SHIFT     98       4 1 1 3 1 1_NEWLINE_ 99    CODE C   CODE C    99       1 1 3 1 4 1_NEWLINE_ 100   CODE B   FNC 4     CODE B   1 1 4 1 3 1_NEWLINE_ 101   FNC 4    CODE A    CODE A   3 1 1 1 4 1_NEWLINE_ 102   FNC 1    FNC 1     FNC 1    4 1 1 1 3 1_NEWLINE_ 103   Start A  Start A   Start A  2 1 1 4 1 2_NEWLINE_ 104   Start B  Start B   Start B  2 1 1 2 1 4_NEWLINE_ 105   Start C  Start C   Start C  2 1 1 2 3 2_NEWLINE_ 106   Stop     Stop      Stop     2 3 3 1 1 1 2_NEWLINE__NEWLINE_Zapis _NEWLINE_2 1 1 2 3 2_NEWLINE_ dla kodu START C oznacza po kolei:_NEWLINE_czarny pasek o szer. 2, _NEWLINE_bia\xc5\x82y  pasek o szer. 1,_NEWLINE_czarny pasek o szer. 1, _NEWLINE_bia\xc5\x82y  pasek o szer. 2,_NEWLINE_czarny pasek o szer. 3, _NEWLINE_bia\xc5\x82y  pasek o szer. 2,'