Kód 128 - Code 128

Kód 128 je vysoká hustota lineární čárový kód symbolika definovaná v ISO / IEC 15417: 2007.[1] Používá se pro alfanumerické nebo pouze číselné čárové kódy. Může kódovat všech 128 znaků ASCII a pomocí rozšiřujícího symbolu (FNC4) znaky latinky-1 definované v ISO / IEC 8859-1.[Citace je zapotřebí ]. Výsledkem jsou obecně kompaktnější čárové kódy ve srovnání s jinými metodami Kód 39, zvláště když texty obsahují většinou číslice.
GS1-128 (dříve známý jako UCC / EAN-128) je podmnožinou kódu 128 a celosvětově se používá v Lodní doprava a obal jako identifikační kód produktu pro úrovně kontejnerů a palet v dodavatelském řetězci.
Specifikace

1:Tichá zóna, 2: počáteční kód, 3:data, 4: kontrolní součet, 5: stop kód
Čárový kód Code 128 má sedm částí:
- Tichá zóna
- Počáteční symbol
- Zakódovaná data
- Symbol zaškrtnutí (povinný)
- Symbol stop
- Konečná lišta (často považována za součást symbolu zastávky)
- Tichá zóna
Symbol kontroly se počítá z a vážený součet (modulo 103) všech symbolů.
Podtypy
Kód 128 obsahuje 108 symbolů: 103 datových symbolů, 3 počáteční symboly a 2 stop symboly. Každý symbol se skládá ze tří černých pruhů a tří bílých mezer různé šířky. Všechny šířky jsou násobky základního „modulu“. Každý pruh a prostor jsou široké 1 až 4 moduly a symboly mají pevnou šířku: součet šířek tří černých pruhů a tří bílých pruhů je 11 modulů.
Stop vzor se skládá ze dvou překrývajících se symbolů a má čtyři pruhy. Zastavovací vzor umožňuje obousměrné skenování. Když je stop vzor čten zleva doprava (obvyklý případ), je rozpoznán symbol zastavení (následovaný 2-modulovou lištou). Když je stop vzor čten zprava doleva, je rozpoznán symbol zpětného zastavení (následovaný 2-modulovou lištou). Skener, který vidí symbol zpětného zastavení, pak ví, že musí přeskočit 2-modulovou lištu a přečíst zbytek čárového kódu v opačném směru.
Přes své jméno nemá Kód 128 128 odlišných symbolů, takže nemůže přímo představovat 128 kódových bodů. K reprezentaci všech 128 ASCII hodnot se přepíná mezi třemi sadami kódů (A, B, C). Společně kódové sady A a B pokrývají všech 128 znaků ASCII. Sada kódů C se používá k efektivnímu kódování řetězců číslic. Počáteční podmnožina je vybrána pomocí příslušného počátečního symbolu. V rámci každé sady kódů je některé ze 103 datových kódových bodů vyhrazeno pro přesun do jedné z dalších dvou kódových sad. Posuny se provádějí pomocí kódových bodů 98 a 99 v kódových sadách A a B, 100 v kódových sadách A a C a 101 v kódových sadách B a C pro přepínání mezi nimi):
- 128A (sada kódů A) - ASCII znaky 00 až 95 (0–9, A – Z a řídicí kódy), speciální znaky a FNC 1–4
- 128B (kódová sada B) - znaky ASCII 32 až 127 (0–9, A – Z, a – z), speciální znaky a FNC 1–4
- 128C (kódová sada C) - 00–99 (kóduje dvě číslice s jedním kódovým bodem) a FNC1
Tichá zóna
Minimální šířka Tiché zóny nalevo a napravo od čárového kódu 128 je 10x, kde x je minimální šířka modulu. Je to povinné na levé a pravé straně čárového kódu.
Start / stop a zakódovaná data
Každý symbol v čárovém kódu se skládá ze tří čárek a tří mezer. Každá lišta nebo prostor je široký 1, 2, 3 nebo 4 jednotky, součet šířek pruhů musí být sudý (4, 6 nebo 8 jednotek), součet šířek mezer musí být lichý (3, 5 nebo 7 jednotek) a celkem 11 jednotek na symbol. Například kódování znaku ASCII „0“ lze zobrazit jako 10011101100, kde posloupnost 1 je sloupec a posloupnost 0 mezera. Jedna 1 by byla nejtenčí čára v čárovém kódu. Tři jedničky v pořadí (111) označují pruh třikrát tak silný jako jeden 1 pruh.
Existuje 108 možných symbolů o šířce 11 jednotek a kód používá všechny možné symboly. Dva ze symbolů se používají pro indikaci zastavení (konec čárového kódu), zastavení a zpětného zastavení. Tyto dva symboly zastavení jsou zvláštní, protože za nimi vždy následuje 2jednotková lišta, která tvoří vzor 13 jednotek dlouhý. Čtení zastavovacího vzoru zleva doprava je symbol zastavení (následovaný pruhem 2 jednotek) a čtení stop vzoru zprava doleva je symbolem zpětného zastavení (následovaný pruhem 2 jednotek).
Zkontrolujte výpočet číslic
Kontrolní číslice je vážený kontrolní součet modulo-103. Vypočítává se součtem počátečního kódu „hodnota“ k produktům „hodnoty“ každého symbolu vynásobené jeho pozicí v řetězci čárového kódu. Počáteční symbol a první kódovaný symbol jsou na pozici 1. Součet produktů se poté sníží modulo 103. Zbytek se poté převede zpět na jeden ze 103 symbolů bez oddělovače (podle uvedených pokynů níže ) a připojený k čárovému kódu bezprostředně před symbolem zastavení.
Například v následující tabulce se pro alfanumerický řetězec PJJ123C vypočítá hodnota kontrolního součtu varianty 128 kódu A:
Kód | Hodnota | Pozice | Hodnota × Pozice |
---|---|---|---|
Počáteční kód A | 103 | 1 | 103 |
P | 48 | 1 | 48 |
J | 42 | 2 | 84 |
J | 42 | 3 | 126 |
1 | 17 | 4 | 68 |
2 | 18 | 5 | 90 |
3 | 19 | 6 | 114 |
C | 35 | 7 | 245 |
Součet | 878 | ||
Modul zbytku 103 | 54 |
Pro účely výpočtu kontrolního symbolu se se symboly posunu a přepínání kódu zachází stejně jako s jakýmkoli jiným symbolem v čárovém kódu. Kontrolní součet se počítá přes hodnoty symbolů bez ohledu na to, která sada kódů je v té době aktivní. Například kódová sada C hodnota „33“ a kódová sada B hodnota „A“ jsou považovány za hodnotu kódu 128 33 a kontrolní číslice je vypočítána na základě hodnoty 33násobku polohy symbolu v čárovém kódu .
Použití FNC4 ke kódování vysokých (128–255) znaků
Speciální symbol FNC4 („funkce 4“), který je přítomen pouze v kódových sadách A a B, lze použít ke kódování celé latinky-1 (ISO-8859-1 ) znaky v čárovém kódu Code 128.[2] Tato funkce není široce podporována a nepoužívá se v GS1-128.[3][4] Pokud je v řetězci přítomen jeden FNC4, následující symbol se převede na ASCII jako obvykle a poté se k hodnotě ASCII přidá 128. (Pokud je následujícím symbolem posun, pak se k získání znaku použije druhý symbol.) Pokud se použijí dva FNC4 za sebou, budou se všechny následující znaky považovány za takové, až do konce řetězce nebo jiného páru FNC4 . Mezi dvojitými FNC4 bude jeden FNC4 použit k označení, že následující znak bude standardní ASCII.[5]
Šířky čárových kódů
Code128 specifikuje kombinaci 6 střídavých pruhů a mezer (3 z každého) pro každý symbol. Každý symbol tedy začíná čárkou a končí mezerou. U písem s čárovým kódem je poslední sloupec obvykle kombinován se symbolem zastavení, aby se vytvořil širší vzor zastavení. Následující tabulka podrobně popisuje šířky přidružené ke každému pruhu a mezeru pro každý symbol. Šířka každého pruhu nebo mezery může být 1, 2, 3 nebo 4 jednotky (moduly). Pomocí výše uvedeného příkladu bude písmeno „A“ zobrazeno se vzorem 10100011000 nebo jako šířky 111323 v níže uvedených tabulkách.
Hodnota šířky je odvozena počítáním délky každého běhu 1 a 0 ve vzoru, počínaje zleva. Vždy bude 6 běhů a délky těchto 6 běhů tvoří hodnotu Widths. Například pomocí vzoru 10100011000 jsou délky běhu 1 (číslice 1), 1 (číslice 0), 1 (číslice 1), 3 (číslice 0), 2 (číslice 1), 3 (číslice 0). Hlášení pouze o délkách každého běhu dává 1, 1, 1, 3, 2, 3, čímž vytváří hodnotu šířky 111323.
Hodnota | Hex hodnota | 128A | 128B | 128C | Pozice písma (Běžné / Méně časté / Barcodesoft) | Bar / Space | ||
---|---|---|---|---|---|---|---|---|
Kód | Latinka-1 | Vzor | Šířky | |||||
0 | 00 | prostor | prostor | 00 | 32 nebo 194/212/252 | ␣ nebo  / Ô / ü | 11011001100 | 212222 |
1 | 01 | ! | ! | 01 | 33 | ! | 11001101100 | 222122 |
2 | 02 | " | " | 02 | 34 | " | 11001100110 | 222221 |
3 | 03 | # | # | 03 | 35 | # | 10010011000 | 121223 |
4 | 04 | $ | $ | 04 | 36 | $ | 10010001100 | 121322 |
5 | 05 | % | % | 05 | 37 | % | 10001001100 | 131222 |
6 | 06 | & | & | 06 | 38 | & | 10011001000 | 122213 |
7 | 07 | ' | ' | 07 | 39 | ' | 10011000100 | 122312 |
8 | 08 | ( | ( | 08 | 40 | ( | 10001100100 | 132212 |
9 | 09 | ) | ) | 09 | 41 | ) | 11001001000 | 221213 |
10 | 0a | * | * | 10 | 42 | * | 11001000100 | 221312 |
11 | 0b | + | + | 11 | 43 | + | 11000100100 | 231212 |
12 | 0c | , | , | 12 | 44 | , | 10110011100 | 112232 |
13 | 0 d | - | - | 13 | 45 | - | 10011011100 | 122132 |
14 | 0e | . | . | 14 | 46 | . | 10011001110 | 122231 |
15 | 0f | / | / | 15 | 47 | / | 10111001100 | 113222 |
16 | 10 | 0 | 0 | 16 | 48 | 0 | 10011101100 | 123122 |
17 | 11 | 1 | 1 | 17 | 49 | 1 | 10011100110 | 123221 |
18 | 12 | 2 | 2 | 18 | 50 | 2 | 11001110010 | 223211 |
19 | 13 | 3 | 3 | 19 | 51 | 3 | 11001011100 | 221132 |
20 | 14 | 4 | 4 | 20 | 52 | 4 | 11001001110 | 221231 |
21 | 15 | 5 | 5 | 21 | 53 | 5 | 11011100100 | 213212 |
22 | 16 | 6 | 6 | 22 | 54 | 6 | 11001110100 | 223112 |
23 | 17 | 7 | 7 | 23 | 55 | 7 | 11101101110 | 312131 |
24 | 18 | 8 | 8 | 24 | 56 | 8 | 11101001100 | 311222 |
25 | 19 | 9 | 9 | 25 | 57 | 9 | 11100101100 | 321122 |
26 | 1a | : | : | 26 | 58 | : | 11100100110 | 321221 |
27 | 1b | ; | ; | 27 | 59 | ; | 11101100100 | 312212 |
28 | 1c | < | < | 28 | 60 | < | 11100110100 | 322112 |
29 | 1d | = | = | 29 | 61 | = | 11100110010 | 322211 |
30 | 1e | > | > | 30 | 62 | > | 11011011000 | 212123 |
31 | 1f | ? | ? | 31 | 63 | ? | 11011000110 | 212321 |
32 | 20 | @ | @ | 32 | 64 | @ | 11000110110 | 232121 |
33 | 21 | A | A | 33 | 65 | A | 10100011000 | 111323 |
34 | 22 | B | B | 34 | 66 | B | 10001011000 | 131123 |
35 | 23 | C | C | 35 | 67 | C | 10001000110 | 131321 |
36 | 24 | D | D | 36 | 68 | D | 10110001000 | 112313 |
37 | 25 | E | E | 37 | 69 | E | 10001101000 | 132113 |
38 | 26 | F | F | 38 | 70 | F | 10001100010 | 132311 |
39 | 27 | G | G | 39 | 71 | G | 11010001000 | 211313 |
40 | 28 | H | H | 40 | 72 | H | 11000101000 | 231113 |
41 | 29 | Já | Já | 41 | 73 | Já | 11000100010 | 231311 |
42 | 2a | J | J | 42 | 74 | J | 10110111000 | 112133 |
43 | 2b | K. | K. | 43 | 75 | K. | 10110001110 | 112331 |
44 | 2c | L | L | 44 | 76 | L | 10001101110 | 132131 |
45 | 2d | M | M | 45 | 77 | M | 10111011000 | 113123 |
46 | 2e | N | N | 46 | 78 | N | 10111000110 | 113321 |
47 | 2f | Ó | Ó | 47 | 79 | Ó | 10001110110 | 133121 |
48 | 30 | P | P | 48 | 80 | P | 11101110110 | 313121 |
49 | 31 | Q | Q | 49 | 81 | Q | 11010001110 | 211331 |
50 | 32 | R | R | 50 | 82 | R | 11000101110 | 231131 |
51 | 33 | S | S | 51 | 83 | S | 11011101000 | 213113 |
52 | 34 | T | T | 52 | 84 | T | 11011100010 | 213311 |
53 | 35 | U | U | 53 | 85 | U | 11011101110 | 213131 |
54 | 36 | PROTI | PROTI | 54 | 86 | PROTI | 11101011000 | 311123 |
55 | 37 | Ž | Ž | 55 | 87 | Ž | 11101000110 | 311321 |
56 | 38 | X | X | 56 | 88 | X | 11100010110 | 331121 |
57 | 39 | Y | Y | 57 | 89 | Y | 11101101000 | 312113 |
58 | 3a | Z | Z | 58 | 90 | Z | 11101100010 | 312311 |
59 | 3b | [ | [ | 59 | 91 | [ | 11100011010 | 332111 |
60 | 3c | \ | \ | 60 | 92 | \ | 11101111010 | 314111 |
61 | 3d | ] | ] | 61 | 93 | ] | 11001000010 | 221411 |
62 | 3e | ^ | ^ | 62 | 94 | ^ | 11110001010 | 431111 |
63 | 3f | _ | _ | 63 | 95 | _ | 10100110000 | 111224 |
64 | 40 | NUL | ` | 64 | 96 | ` | 10100001100 | 111422 |
65 | 41 | SOH | A | 65 | 97 | A | 10010110000 | 121124 |
66 | 42 | STX | b | 66 | 98 | b | 10010000110 | 121421 |
67 | 43 | ETX | C | 67 | 99 | C | 10000101100 | 141122 |
68 | 44 | EOT | d | 68 | 100 | d | 10000100110 | 141221 |
69 | 45 | ENQ | E | 69 | 101 | E | 10110010000 | 112214 |
70 | 46 | ACK | F | 70 | 102 | F | 10110000100 | 112412 |
71 | 47 | BEL | G | 71 | 103 | G | 10011010000 | 122114 |
72 | 48 | BS | h | 72 | 104 | h | 10011000010 | 122411 |
73 | 49 | HT | i | 73 | 105 | i | 10000110100 | 142112 |
74 | 4a | LF | j | 74 | 106 | j | 10000110010 | 142211 |
75 | 4b | VT | k | 75 | 107 | k | 11000010010 | 241211 |
76 | 4c | FF | l | 76 | 108 | l | 11001010000 | 221114 |
77 | 4d | ČR | m | 77 | 109 | m | 11110111010 | 413111 |
78 | 4e | TAK | n | 78 | 110 | n | 11000010100 | 241112 |
79 | 4f | SI | Ó | 79 | 111 | Ó | 10001111010 | 134111 |
80 | 50 | DLE | p | 80 | 112 | p | 10100111100 | 111242 |
81 | 51 | DC1 | q | 81 | 113 | q | 10010111100 | 121142 |
82 | 52 | DC2 | r | 82 | 114 | r | 10010011110 | 121241 |
83 | 53 | DC3 | s | 83 | 115 | s | 10111100100 | 114212 |
84 | 54 | DC4 | t | 84 | 116 | t | 10011110100 | 124112 |
85 | 55 | NAK | u | 85 | 117 | u | 10011110010 | 124211 |
86 | 56 | SYN | proti | 86 | 118 | proti | 11110100100 | 411212 |
87 | 57 | ETB | w | 87 | 119 | w | 11110010100 | 421112 |
88 | 58 | UMĚT | X | 88 | 120 | X | 11110010010 | 421211 |
89 | 59 | EM | y | 89 | 121 | y | 11011011110 | 212141 |
90 | 5a | SUB | z | 90 | 122 | z | 11011110110 | 214121 |
91 | 5b | ESC | { | 91 | 123 | { | 11110110110 | 412121 |
92 | 5c | FS | | | 92 | 124 | | | 10101111000 | 111143 |
93 | 5 d | GS | } | 93 | 125 | } | 10100011110 | 111341 |
94 | 5e | RS | ~ | 94 | 126 | ~ | 10001011110 | 131141 |
95 | 5f | NÁS | DEL | 95 | 195 / 200 / 240 | Ã / È / ð | 10111101000 | 114113 |
96 | 60 | FNC 3 | FNC 3 | 96 | 196 / 201 / 241 | Ä / É / ñ | 10111100010 | 114311 |
97 | 61 | FNC 2 | FNC 2 | 97 | 197 / 202 / 242 | Å / Ê / ò | 11110101000 | 411113 |
98 | 62 | Posun B | Shift A | 98 | 198 / 203 / 243 | Æ / Ë / ó | 11110100010 | 411311 |
99 | 63 | Kód C. | Kód C. | 99 | 199 / 204 / 244 | Ç / Ì / ô | 10111011110 | 113141 |
100 | 64 | Kód B | FNC 4 | Kód B | 200 / 205 / 245 | È / Í / õ | 10111101110 | 114131 |
101 | 65 | FNC 4 | Kód A | Kód A | 201 / 206 / 246 | É / Î / ö | 11101011110 | 311141 |
102 | 66 | FNC 1 | FNC 1 | FNC 1 | 202 / 207 / 247 | Ê / Ï / ÷ | 11110101110 | 411131 |
103 | 67 | Počáteční kód A | 203 / 208 / 248 | Ë / Ð / ø | 11010000100 | 211412 | ||
104 | 68 | Počáteční kód B | 204 / 209 / 249 | Ì / Ñ / ù | 11010010000 | 211214 | ||
105 | 69 | Počáteční kód C. | 205 / 210 / 250 | Í / Ò / ú | 11010011100 | 211232 | ||
106 | 6a | Stop | — | — | 11000111010 | 233111 | ||
— | — | Zpětné zastavení | — | — | 11010111000 | 211133 | ||
— | — | Zastavovací vzor (7 pruhů / mezer) | 206 / 211 / 251 | Î / Ó / û | 1100011101011 | 2331112 |
Symboly „Kód A“, „Kód B“ a „Kód C“ způsobují, že všechny budoucí symboly budou interpretovány podle příslušného dílčího kódu. Symbol „Shift“ přepíná interpretaci jednoho následujícího symbolu mezi subkódy A a B.
Zakódovaný znak ASCII závisí na skutečně použitém typu čárového kódu. Zejména znak ASCII hodnoty 0 a hodnoty 95 a výše může být definován odlišně v nainstalovaném písmu.
FNCX kódy se používají pro zvláštní účely. FNC1 na začátku čárového kódu označuje a GS1-128 čárový kód, který začíná 2–3 nebo 4místným číslem identifikátor aplikace přidělené Jednotná rada pro kodex, což vysvětluje následující číslice. Například identifikátor aplikace 421 naznačuje, že ISO 3166-1 numerická Následuje kód země a poštovní směrovací číslo. USA tedy PSČ pro Bílý dům by se obecně tisklo jako „(421) 840 20500“, ale ve skutečnosti by se kódovalo jako „[Start C] [FNC1] 42 18 40 20 50 [Kód A] 16 [Kontrolní symbol 92] [Stop]
"
Zkontrolujte výpočet číslic pro výše uvedený příklad PSČ:
Hodnota | Hmotnost | Hmotnost × hodnota | |
---|---|---|---|
Začít C. | 105 | 1 | 105 |
FNC1 | 102 | 1 | 102 |
42 | 42 | 2 | 84 |
18 | 18 | 3 | 54 |
40 | 40 | 4 | 160 |
20 | 20 | 5 | 100 |
50 | 50 | 6 | 300 |
Kód A | 101 | 7 | 707 |
0 | 16 | 8 | 128 |
Součet = | 1740 | ||
1740 | Mod 103 = | 92 |
Dostupnost
Pro koncového uživatele mohou být čárové kódy Code 128 generovány buď vnější aplikací k vytvoření obrazu čárového kódu, nebo řešením čárových kódů založeným na písmu. Buď řešení vyžaduje použití aplikace, nebo přidání aplikace k výpočtu kontrolní číslice a vytvoření čárového kódu.
Optimalizace délky čárového kódu
Sada kódů C používá jeden symbol kódu k vyjádření dvou číslic, takže pokud text obsahuje pouze číslice, bude to obecně mít za následek kratší čárové kódy. Pokud však řetězec obsahuje pouze několik číslic nebo je smíchán s neciferným znakem, nevytváří vždy kompaktnější kód než sady kódů A nebo B. Použití sady kódů C uloží jeden symbol na dvě číslice, ale stojí režim -shift symbol pro vstup a výstup ze sady. Vyplatí se tedy použít pouze v případě, že existuje dostatek po sobě jdoucích číslic. Například kódování řetězce „X00Y“ kódovou sadou A nebo B vyžaduje 7 kódových symbolů ([Start B] 56 16 16 57 [kontrolní součet] [Stop]
), při použití sady kódů C pro „00“ by byl kód dlouhý 8 znaků ([Start B] 56 [Kód C] 00 [Kód B] 57 [kontrolní součet] [Stop]
).
Použití sady kódů C je výhodné pouze za následujících podmínek:
Umístění číslic | Počet po sobě jdoucích číslic |
---|---|
začátek dat | 4+ |
konec dat | 4+ |
uprostřed dat (obklopen symboly ze sady kódů A nebo B) | 6+ |
celá data | buď 2 nebo 4+ (ale ne 3) |
Na konci řetězce se zpožděním přechodu na kódovou sadu C, dokud nezůstane sudý počet číslic, vyhne dalšímu symbolu. Zvažte řetězec „... 01234“: produkuje zpožděný přepínač ... 0 [Kód C] 12 34 [kontrolní součet] [Zastavit]
ale časný přechod produkuje ... [Kód C] 01 23 [Kód A] 4 [kontrolní součet] [Zastavit]
.[6]
Například vzhledem k řetězci „098x1234567y23“ lze dosáhnout úspory délky čárových kódů pomocí sady kódů C, pouze pokud je aplikován na střední část řetězce. Pro počáteční a koncovou část řetězce není přepnutí na kódovou sadu C účinné. Jelikož uprostřed řetězce je lichý počet číslic, musí být lichý použít jiný kód, nastavený, ale nezáleží na tom, zda se jedná o první nebo poslední; V obou případech je požadováno 16 symbolů: [Start B] 0 9 8 x 1 [Kód C] 23 45 67 [Kód B] y 2 3 [kontrolní součet] [Stop]
nebo [Start B] 0 9 8 x [Kód C] 12 34 56 [Kód B] 7 y 2 3 [kontrolní součet] [Stop]
.
Optimalizace délky výsledného čárového kódu je důležitá, když čtečky čárových kódů jsou používány, které musí detekovat celý obrázek čárového kódu najednou, aby jej bylo možné přečíst, například běžné laserové skenery. Čím delší je čárový kód, tím větší vzdálenost laserové čtečky čárových kódů od obrazu čárového kódu je zapotřebí, což ztěžuje nebo znemožňuje čtení nad určitou prahovou délkou / vzdáleností.
The optimální kódování lze najít pomocí a dynamické programování algoritmus.[7]
Reference
- ^ „ISO / IEC 15417: 2007 - Informační technologie - Techniky automatické identifikace a sběru dat - Specifikace symboliky čárového kódu Code 128“. www.iso.org. Citováno 2018-02-15.
- ^ Zřejmě ISO 15417 příloha F
- ^ „Vysvětlení kódu 128“. Softmatic GmbH. Citováno 2017-01-21.
V zásadě lze znaky jiné než ASCII, jako jsou německé přehlásky (např. ÄÖÜ), zakódovat do symbolu kódu 128 pomocí speciálního znaku (FNC4). Tato funkce však není široce podporována. Lepší volbou může být použití 2D symboliky čárových kódů, jako je Aztec nebo Datamatrix, s vyhrazenou podporou pro data jiná než ASCII.
- ^ Obecné specifikace GS1 (leden 2006 - verze 7.0), část 5.3.1.1 GS1-128 Symbology Characteristics, uvádí: „Znaky s hodnotami ASCII 128 až 255 mohou být také zakódovány do symbolů kódu 128. Znaky s hodnotami ASCII 128 až 255 jsou přístupné funkcí 4 znaky (FNC4) jsou vyhrazeny pro budoucí použití a nepoužívají se v symbolech čárových kódů GS1-128. “
- ^ „TBarcode1D_Code128“. Společnost Han-soft. Citováno 2017-01-21.
Pokud je použit jeden znak „FNC 4“, znamená to, že následující datový znak v symbolu je rozšířený znak ASCII. Znak 'SHIFT' může následovat za znakem 'FNC 4', pokud je nutné změnit podmnožinu znaků pro následující datový znak. Následné datové znaky se vrátí ke standardní znakové sadě ASCII. Pokud jsou použity dva po sobě jdoucí znaky „FNC4“, jsou všechny následující datové znaky rozšířeny o znaky ASCII, dokud nenarazíte na další dva po sobě jdoucí znaky „FNC4“ nebo dokud nedojde ke konci symbolu. Pokud se během této sekvence rozšířeného kódování vyskytne jeden znak „FNC4“, použije se k návratu ke standardnímu kódování ASCII pouze pro další datový znak. „SHIFT“ a znaky podmnožiny znaků musí mít během takové posloupnosti svůj normální účinek.
- ^ GS1 General Specification, Verze 13, Vydání 1, Leden-2013, Oddíl 5.4.7.7. Použití symbolů Start, Sada kódů a Shift k minimalizaci délky symbolu (informativní), strany 268 až 269. Tato část uvádí strategii komprese.
- ^ Skiena, Steven S. (2010). „8.9 War Story: Komprese textu pro čárové kódy“. Příručka pro návrh algoritmu (2. vyd.). ISBN 1-849-96720-2.
dynamické programování vedlo v průměru k 8% přísnějšímu kódování.
externí odkazy
![]() | Tento článek je Použití externí odkazy nemusí dodržovat zásady nebo pokyny Wikipedie.Ledna 2015) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
- Specifikace GS1-128 - Podrobný seznam identifikátorů aplikací.
- Barcodesoft - Mapování písem Barcodesoft, které se liší od běžného mapování ascii (viz http://ascii-code.com/ ).
- Kód 128 - Naučte se kódovací algoritmus Code 128 pomocí řešení čárových kódů založeného na písmu.
- Online generátor čárových kódů - Zdarma online generátor čárových kódů pro různé typy čárových kódů.
Ukázkový kód
- ZXing - Multiplatformní open source skener / generátor čárových kódů s verzemi dostupnými v Javě (základní projekt) a porty pro ActionScript, C ++, C #, ObjectiveC a Ruby.
- Čárový kód Pythonu 128 - Zdá se, že tento kód kreslí rámečky široké jeden pixel. Zdá se, že byl upraven z krátkého čárového kódu s dlouhým řádkem, který by nakreslil čáry. „Černé rámečky“ by měly mít stejnou velikost jako „Bílé rámečky“.
- GenCode128 - Zdarma implementace zdrojového kódu C # Code128. Téměř všechny funkce jsou implementovány, ale nejsou 100% úplné.
- Barcode1DTools Ruby gem - Ruby zdrojový kód pro mnoho symbolů 1D čárových kódů včetně kódu 128.
- Generační kód čárového kódu Perl - Zdrojový kód Perlu pro mnoho symbolů 1D čárových kódů, včetně kódu 128.
- Čárový kód :: Code128 - Modul generování čárových kódů Perl zdarma.
- GOCR - OCR zdarma s rozpoznáním kódu 128.
- Čárový kód 128 - Zdarma implementace zdrojového kódu JavaScriptu Code128.
- Čárový kód4J - Zdarma Java API s implementací Code128 a dalších standardních čárových kódů.
- Kód JavaScript 128 - Implementace kódu Code128 a dalších lineárních čárových kódů v jazyce JavaScript.
- Představujeme vytvoření čárových kódů Code 128 Průvodce převodem textu na čárové kódy Code 128. Napsáno pro Lazar (open-source, multiplatformní GUI Pascal), ale obecně použitelné.