Кіріспе

39-код (Alpha39, Code 3 of 9, Code 3/9, Type 39, USS Code 39 немесе USD 3) – ISO/IEC 16388:2007 стандартында анықталған өзгермелі ұзындығы бар дискретті штрих-код символикасы. Код 39 спецификациясы 43 таңбаны анықтайды, олар үлкен әріптерден (A-дан Z-ға дейін), сандық цифрлардан (0-ден 9-ға дейін) және бірқатар арнайы таңбалардан ( , ., $, /, +, %, және бос орыннан) тұрады. Бастау және тоқтату белгілері үшін қосымша таңба (*) қолданылады. Әрбір таңба тоғыз элементтен тұрады: бес штрих және төрт бос орын. Әрбір таңбадағы тоғыз элементтің үшеуі кең (бинарлық мәні 1), алтысы тар (бинарлық мәні 0). Штрих-код схемасында тексеру цифры жоқ (мысалы, 128 кодынан айырмашылығы), бірақ ол өзін-өзі тексеруге жарамды, себебі бір ғана қате оқылған штрих басқа жарамды таңбаны тудыра алмайды. Код 39-дың ең маңызды кемшілігі – деректердің төмен тығыздығы: 39-кодта деректерді кодтау үшін, мысалы, 128-кодтағыдан гөрі көбірек орын қажет. Бұл өте кішкентай тауарларды 39-код негізіндегі штрих-кодпен таңбалау мүмкін емес етеді. Дегенмен, Код 39 әлі де кейбір пошта қызметтерінде қолданылады (бірақ Дүниежүзілік пошта одағы барлық жағдайларда 128 кодын пайдалануды ұсынады) және кез келген штрих-код оқырманмен оқуға болады. Код 39-дың бір артықшылығы – тексеру цифрларын жасау қажеттігі болмағандықтан, оны қолданыстағы баспа жүйесіне жүйеге немесе принтерге штрих-код қаріпін қосу және содан кейін шикі деректерді сол қаріппен басып шығару арқылы оңай интеграциялауға болады. Код 39-ды 1974 жылы Intermec компаниясының докторлары Дэвид Аллаис және Рэй Стивенс әзірледі. Олардың бастапқы дизайнында әрбір таңбаға екі кең штрих пен бір кең бос орын кірді, нәтижесінде 40 мүмкін таңба пайда болды. Осы таңбалардың біреуін бастау және тоқтату белгісі ретінде алып тастағаннан кейін 39 таңба қалды, содан Код 39 атауы пайда болды. Кейіннен төрт пунктуациялық таңба қосылды, кең штрихтар мен үш кең бос орынды пайдаланбастан, таңбалар жиынтығы 43-ке дейін кеңейтілді. Код 39 кейінірек ANSI MH 10.8 M 1983 және MIL STD 1189 ретінде стандартталды. MIL STD 1189 күшін жойды және оның орнына ANSI/AIM BC1/1995 бірыңғай симвология спецификациясы – Код 39 енгізілді.

Кодтау

Төменде көрсетілген * символы нақты кодталатын символ емес, бірақ 39-кодтың басталу және тоқтау символы болып табылады. Символдың асимметриясы оқырманға сканерленген штрих-кодтың бағытын анықтауға мүмкіндік береді. Бұл код дәстүрлі түрде штрих-код қаріптерінде * символымен байланыстырылады және көбінесе штрих-кодтың жанында адам оқи алатын түсіндірмемен бірге пайда болады. Жалпы алғанда, екі кең жолақтың орналасуы 1 мен 10 арасындағы санды кодтау ретінде қарастырылады, ал кең аралықтың орналасуы (төрт мүмкін позициясы бар) таңбаны төрт топтың біріне (солдан оңға қарай) жіктеу ретінде қарастырылады: әріптер (+30) (U–Z), сандар (+0) (1–9, 0), әріптер (+10) (A–J) және әріптер (+20) (K–T). Мысалы, P әрпі (әліпбидің 16-шы әрпі) 6 санын көрсету үшін жолақтарын тізімдейді, ал оң жақ шетіндегі кең аралық топты таңдау үшін пайдаланылады. Сан ретінде көрсетілгенде, "10" саны нөлді кодтау үшін қолданылады. (+30) тобында тек алты әріп болғандықтан (U–Z), осы топтағы қалған төрт позиция (36–39) үш символды (дефис, нүкте, бос орын) және басталу/тоқтау символын көрсету үшін қолданылады. Бес мүмкін позицияның ішіндегі екі кең жолақ 1 мен 10 арасындағы санды екіден бес кодты пайдаланып, келесі сандық эквивалентпен кодтайды: 1, 2, 4, 7, 0. Сандар қосылады. Мысалы, 6 саны NWWNN ретінде кодталған, мұнда кең жолақтар 2 және 4 позицияларын (2+4=6) алып тұрады. Егер NNWWN 1=4+7 = 11 болса, ол сандар үшін 0 (+0) және әріптер бағаналары үшін 10 (+10 – +30) деп тағайындалады. (+10-нан +30-ға дейін) әріптерді кодтағанда, теңдеуге "-1" қосылуы керек, сондықтан "A" кестеде көрсетілгендей WNNNW → 1 + 10 − 1 → 10 болады. Соңғы төрт символдың барлығы тар жолақтар мен үш кең аралықтан тұрады. Бір тар аралық үшін төрт мүмкін позиция бар. Бұл кесте Code 39 спецификациясын көрсетеді. Әрбір символға тағайындалған сандық мән (басталу/тоқтаудан басқа) төменде сипатталған тексеру сомасы алгоритмінде қолданылады. Символдар қосымша тар аралықпен бөлінеді. Мысалы, "A" әрпінің толық кодтауы, басталу және тоқтау символдарымен бірге "*A*", мынадай болады: "| |▮▮|▮|| |▮| |▮▮|". Бұл таңбалар аралықтары болмаса, код дұрыс оқылмайды. Штрих-код қаріптерінде осы аралық әрқашан символдың глифінің ішінде болады.

Толық ASCII коды 39

39-код 43 символға дейін шектеледі. Толық ASCII коды 39 Символдары 0–9, A–Z, «.», «» және бос орын 39-кодтағы олардың көрсетілуімен бірдей. Кіші әріптер, қосымша тыныс белгілері және басқару таңбалары 39-кодтың екі символдан тұратын тізбектерімен көрсетіледі. Кодтың толық мәліметтері: № Символ Кодтау № Символ Кодтау № Символ Кодтау № Символ Кодтау 0 NUL %U 32 [бос орын] [бос орын] 64 @ %V 96 ` %W 1 SOH $A 33 ! /A 97 a +A 2 STX $B 34 " /B 98 b +B 3 ETX $C 35 # /C 99 c +C 4 EOT $D 36 $ /D 100 d +D 5 ENQ $E 37 % /E 101 e +E 6 ACK $F 38 & /F 102 f +F 7 BEL $G 39 ' /G 103 g +G 8 BS $H 40 ( /H 104 h +H 9 HT $I 41 ) /I 105 i +I 10 LF $J 42 * /J 106 j +J 11 VT $K 43 + /K 107 k +K 12 FF $L 44 , /L 108 l +L 13 CR $M 45 - /M 109 m +M 14 SO $N 46 . /N 110 n +N 15 SI $O 47 / /O 111 o +O 16 DLE $P 48 0 0 112 p +P 17 DC1 $Q 49 1 1 113 q +Q 18 DC2 $R 50 2 2 114 r +R 19 DC3 $S 51 3 3 115 s +S 20 DC4 $T 52 4 4 116 t +T 21 NAK $U 53 5 5 117 u +U 22 SYN $V 54 6 6 118 v +V 23 ETB $W 55 7 7 119 w +W 24 CAN $X 56 8 8 120 x +X 25 EM $Y 57 9 9 121 y +Y 26 SUB $Z 58 : /Z 122 z +Z 27 ESC %A 59 ; %F 91 [ %K 123 { %P 28 FS %B 60 < %G 92 \ %L 124 | %Q 29 GS %C 61 = %H 93 ] %M 125 } %R 30 RS %D 62 > %I 94 ^ %N 126 ~ %S 31 US %E 63 ? %J 95 _ %O 127 DEL %T, %X, %Y, %Z