Кіріспе

Штрих-код форматы

Код 128 – ISO/IEC 15417:2007 стандартында анықталған жоғары тығыздықты сызықтық штрих-код символикасы. Ол әріптік-сандық немесе тек сандық штрих-кодтар үшін қолданылады. ASCII-нің барлық 128 символын және кеңейту символын (FNC4) пайдалану арқылы ISO/IEC 8859 1 стандартында анықталған Latin 1 символдарын кодтай алады. Бұл, әсіресе мәтіндерде цифрлар басым болғанда, Code 39 сияқты басқа әдістермен салыстырғанда, көбінесе ықшам штрих-кодтарды қамтамасыз етеді. Код 128 1981 жылы Computer Identics Corporation компаниясымен әзірленген. GS1 128 (бұрын UCC/EAN 128 деп аталған) – Код 128-дің ішкі жиыны болып табылады және оны әлемдік жеткізу және қаптама салаларында тауар тізбегіндегі контейнерлер мен паллеттер деңгейіндегі өнімдік идентификациялық код ретінде кеңінен пайдаланады.

Бастау/тұтыну және штанганың ені

Баркодтағы әрбір символ үш жол және үш бос орыннан тұрады. Әрбір жолдың немесе бос орынның ені 1, 2, 3 немесе 4 бірлік болуы тиіс, жолдардың ендерінің қосындысы жұп (4, 6 немесе 8 бірлік) болуы керек, бос орындардың ендерінің қосындысы тақ (3, 5 немесе 7 бірлік) болуы керек, ал символдың жалпы ені 11 бірлікке тең болуы тиіс. Мысалы, ASCII "0" символын кодтау 10011101100 түрінде көрсетілуі мүмкін, мұнда 1-лер тізбегі – жол, ал 0-дер тізбегі – бос орын. Жеке 1 – баркодтағы ең жіңішке сызық. Бір-бірінен кейін келетін үш 1 (111) – жеке 1 жолынан үш есе қалың жолды білдіреді. 11 бірлік ені бар 108 мүмкін символ бар, ал код барлық мүмкін символдарды қолданады. Екі символ тоқтату (баркод соңы) белгісі ретінде, тоқтату және кері тоқтату үшін пайдаланылады. Екі тоқтату символы ерекше, себебі олардың артынан әрқашан 2 бірлік ені бар жол келеді, осылайша 13 бірлік ұзындығындағы тоқтату үлгісі құрылады. Тоқтату үлгісін солдан оңға қарай оқу – тоқтату символы (соңынан 2 бірлік ені бар жол), ал тоқтату үлгісін оңнан солға қарай оқу – кері тоқтату символы (соңынан 2 бірлік ені бар жол).

FNC4-ті жоғары (160255) таңбаларды кодтау үшін пайдалану

FNC4 арнайы символы ("Функция 4"), тек A және B код жиынтықтарында ғана кездеседі және Code 128 штрих-кодында Latin 1 (ISO 8859 1) әрпінің барлық таңбаларын кодтау үшін пайдаланылуы мүмкін. Егер бір ғана "FNC4" болса, келесі символ ASCII ретінде оқылады, бірақ мәні +128-ге өседі, осылайша ISO 8859 1 кестесінің жоғары диапазоны қолданылады. Егер келесі символ "SHIFT" болса, символ алу үшін екінші символ қолданылады. Егер екі тізбектелген "FNC4" таңбасы қолданылса, екі тізбектелген "FNC4" таңбасы кездескенше немесе символдың соңына жеткенше, барлық келесі дерек таңбалары кеңейтілген ASCII таңбалары болып табылады. Осы кеңейтілген кодтау тізбегі кезінде егер бір "FNC4" таңбасы кездессе, ол тек келесі дерек таңбасы үшін стандартты ASCII кодтауға қайта оралады. "SHIFT" және таңба жиынтығы таңбалары осындай тізбек кезінде әдеттегідей әсер етеді. Code 128A-дан FNC4 арқылы 160 (hex A0, үзіліссіз бос орын) бастап 223-ке (hex DF, ß) дейінгі Latin 1 арнайы таңбаларына жетуге болады. 224 (hex E0, à) бастап 254 (hex FE, þ) дейінгі кіші әріптер FNC4+SHIFT B арқылы қол жетімді. ÷ (247, hex F7) және ÿ (255, hex FF) таңбалары қол жетімді емес. Бұл мүмкіндік GS1 128 үшін қол жетімді емес. Code 128 B (және C) түрін қолдау кең таралмағандықтан, ISO 8859 1 код диапазонындағы таңбалар үшін QR кодты пайдалану ыңғайлырақ болуы мүмкін.

Штрих-кодтың ені

Код128 әрбір символ үшін 6 кезектесіп штрих пен бос орынды (3-шi) қамтиды. Осылайша, әрбір символ штрихпен басталады және бос орынмен аяқталады. Штрих-кодты қаріптерде соңғы штрих, әдетте, тоқтату белгісімен біріктіріліп, кеңірек тоқтату үлгісін жасайды. Келесі кестеде әрбір символдың әр тармағына және бос орынға байланысты ендері көрсетілген. Әрбір жолақ немесе бос орынның ені 1, 2, 3 немесе 4 бірлік (модуль) болуы мүмкін. Жоғарыда келтірілген мысалды пайдаланып, "А" 10100011000 үлгісімен немесе төмендегі кестелерде 111323 енімен бейнеленетін болады. Еніліктердің мәні сол жақтан басталып, әр қатардағы 1 және 0-дің ұзындығын санау арқылы алынады. Әрқашан 6 жолақты болады және осы 6 жолақтың ұзындығы Widths мәнін құрайды. Мысалы, 10100011000 үлгісін қолдану кезінде жүгіру ұзындығы 1 (сан 1), 1 (сан 0), 1 (сан 1), 3 (сан 0), 2 (сан 1), 3 (сан 0). Әрбір жүгірудің ұзындығын ғана есептегенде 1, 1, 1, 3, 2, 3 беріледі, осылайша ені 111323 болады. + Код 128 Құны Hex мәні 128A 128B 128C Қаріп орны (Жалпы/Жалпы емес/Жалпы кодты) Штрих-код / Бос орын Латын 1 Үлгілер ені 0 00 бос орын 00 32 немесе 194 немесе 207 / 212 / 252 немесе Â немесе Ï / Ô / ü 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 0d 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 I I 41 73 I 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 O O 47 79 O 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 V V 54 86 V 11101011000 311123 55 37 W W 55 87 W 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 CR m 77 109 m 11110111010 413111 78 4e SO n 78 110 n 11000010100 241112 79 4f SI o 79 111 o 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 v 86 118 v 11110100100 411212 87 57 ETB w 87 119 w 11110010100 421112 88 58 CAN 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 5d GS } 93 125 } 10100011110 111341 94 5e RS ~ 94 126 ~ 10001011110 131141 95 5f US 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 Shift B Shift A 98 198 / 203 / 243 Æ / Ë / ó 11110100010 411311 99 63 Code C Code C 99 199 / 204 / 244 Ç / Ì / ô 10111011110 113141 100 64 Code B FNC 4 Code B 200 / 205 / 200 È / Í / È 10111101110 114131 101 65 FNC 4 Code A Code A 201 / 206 / 246 É / Î / ö 11101011110 311141 102 66 FNC 1 FNC 1 FNC 1 202 / 207 / 247 Ê / Ï / ÷ 11110101110 411131 103 67 Start Code A 203 / 208 / 248 Ë / Ð / ø 11010000100 211412 104 68 Start Code B 204 / 209 / 249 Ì / Ñ / ù 11010010000 211214 105 69 Start Code C 205 / 210 / 250 Í / Ò / ú 11010011100 211232 106 6a Stop — — 11000111010 233111 — — Reverse Stop — — 11010111000 211133 — — Stop pattern (7 bars/spaces) 206 / 211 / 251 Î / Ó / û 1100011101011 2331112

"Code A", "Code B" және "Code C" символдары келесі барлық символдардың тиісінше қосалқы кодқа (яғни 128A, 128B немесе 128C) сәйкес интерпретациялануын қамтамасыз етеді. "Shift" символы келесі бір символдың интерпретациясын A және B қосалқы кодтары арасында ауыстырады. Кодталған ASCII символы қолданылатын штрих-код қарібіне байланысты. Әсіресе 0 және 95 және одан жоғары мәні бар ASCII символдары орнатылған қаріпте әртүрлі анықталуы мүмкін. FNCx кодтары арнайы мақсаттар үшін қолданылады. Бакоданың басындағы FNC1 GS1 128 бакодында қолданылады, ол Uniform Code Council тағайындаған 2, 3 немесе 4 таңбалы қолданба идентификаторымен басталады, ол келесі таңбаларды түсіндіреді. Мысалы, қолданба идентификаторы 421 ISO 3166 1 сандық ел кодын және жіберу пошта индексін көрсетеді. Осылайша, Ақ үйдің АҚШ пошта индексі әдетте "(421) 840 20500" деп басылады, бірақ "[Start C] [FNC1] 42 18 40 20 50 [Code A] 16 [Check symbol 92] [Stop]" ретінде кодталады.

FNC2 (хабар қосымшасы) бакодтың кез келген жерінде пайда болуы мүмкін, оның бакод оқырманы ағымдағы жолдарды сақтауын және келесі оқылған бакодтың жолдарына қосылуын білдіреді. GS1 128 қолданбайды. FNC3 (бастамалау) бакодтың кез келген жерінде пайда болуы мүмкін, бакод оқырманына бакод жолының нұсқауларына сәйкес өзін бастауын немесе қайта бағдарлауын білдіреді. FNC4 кеңейтілген ASCII символдар жиынтығын ұсыну үшін қолданылады (қараңыз). GS1 128 қолданбайды.

Қолжетімділік

Соңғы пайдаланушы үшін 128 кодты штрих-кодты сыртқы бағдарлама арқылы штрих-кодтың кескінін жасау немесе шрифтке негізделген штрих-код шешімі арқылы жасауға болады. Екі шешімнің де тексеру цифрын есептеу және штрих-кодты құру үшін бағдарлама немесе бағдарламаға қосымша қажет.