New Immissions/Updates:
boundless - educate - edutalab - empatico - es-ebooks - es16 - fr16 - fsfiles - hesperian - solidaria - wikipediaforschools
- wikipediaforschoolses - wikipediaforschoolsfr - wikipediaforschoolspt - worldmap -

See also: Liber Liber - Libro Parlato - Liber Musica  - Manuzio -  Liber Liber ISO Files - Alphabetical Order - Multivolume ZIP Complete Archive - PDF Files - OGG Music Files -

PROJECT GUTENBERG HTML: Volume I - Volume II - Volume III - Volume IV - Volume V - Volume VI - Volume VII - Volume VIII - Volume IX

Ascolta ""Volevo solo fare un audiolibro"" su Spreaker.
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Code 39 - Wikipedia, wolna encyklopedia

Code 39

Z Wikipedii

Przykład kodu "Code 39"
Przykład kodu "Code 39"
Przykład zapisu znaków alfanumerycznych w kodzie "Code39". Znaki "*" są oznaczeniami Start/Stop, natomiast "$" jest znakiem kontrolnym wyliczonym na podstawie modulo43
Przykład zapisu znaków alfanumerycznych w kodzie "Code39". Znaki "*" są oznaczeniami Start/Stop, natomiast "$" jest znakiem kontrolnym wyliczonym na podstawie modulo43

Code 39 (znany też jako "USS Code 39", "Code 3/9", "Kod 3 z 9", "USD-3", "Alpha39") – alfanumeryczny kod kreskowy o stałej szerokości pojedynczego znaku. Kod ten powstał w 1974 roku, a rozpowszechnił się po zastosowaniu go przez Departament Obrony USA do oznaczania przesyłek od dostawców. Obecnie jest wykorzystywany w branży motoryzacyjnej do oznaczania części. Największą wadą kodu jest stosunkowo mała gęstość zapisu danych. Z tego względu kod ten nie nadaje się do umieszczania na małych przedmiotach. Zaletą kodu jest fakt, iż może on zostać odczytany przez prawie każdy czytnik kodów kreskowych.

Spis treści

[edytuj] Budowa kodu

Wykorzystując podstawową wersję kodu można zakodować 43 znaki alfanumeryczne (duże litery od A do Z, cyfry, znaki specjalne: -, ., spacja, $, /, +, %) oraz symbol *, który służy do oznaczenia początku i końca kodu. Każdy znak składa się z dziewięciu pasków (występuje na przemian 5 pasków czarnych i 4 paski białe), przy czym 3 spośród nich mają większą szerokość (stąd nazwa kod 3 z 9). Stosunek szerokości pasków grubych do cienkich musi mieścić się w przedziale od 2:1 do 3:1.

W podstawowej wersji kod nie zawiera sumy kontrolnej. Jednakże jest on tak skonstruowany, iż pojedynczy błędnie odczytany pasek nie spowoduje rozpoznania znaku, jako innego.

[edytuj] Tablica znaków

Znak * jest wykorzystywany jedynie do oznaczenia początku i końca kodu. Ze względu na jego asymetryczną postać czytnik kodów kreskowych jest w stanie określić kierunek odczytu kodu.

Poniższa tabela prezentuje sposób zapisu wszystkich 44 znaków kodowanych w Kodzie 3 z 9:

Legenda
Format1 Format2 Pasek
W B szeroki - czarny
N b wąski - czarny
w W szeroki - biały
n w wąski - biały


Tablica znaków
Wart. Znak Format1 Format2
0 0 NnNwWnWnN bwbWBwBwb
1 1 WnNwNnNnW BwbWbwbwB
2 2 NnWwNnNnW bwBWbwbwB
3 3 WnWwNnNnN BwBWbwbwb
4 4 NnNwWnNnW bwbWBwbwB
5 5 WnNwWnNnN BwbWBwbwb
6 6 NnWwWnNnN bwBWBwbwb
7 7 NnNwNnWnW bwbWbwBwB
8 8 WnNwNnWnN BwbWbwBwb
9 9 NnWwNnWnN bwBWbwBwb
10 A WnNnNwNnW BwbwbWbwB
11 B NnWnNwNnW bwBwbWbwB
12 C WnWnNwNnN BwBwbWbwb
13 D NnNnWwNnW bwbwBWbwB
14 E WnNnWwNnN BwbwBWbwb
15 F NnWnWwNnN bwBwBWbwb
16 G NnNnNwWnW bwbwbWBwB
17 H WnNnNwWnN BwbwbWBwb
18 I NnWnNwWnN bwBwbWBwb
19 J NnNnWwWnN bwbwBWBwb
20 K WnNnNnNwW BwbwbwbWB
21 L NnWnNnNwW bwBwbwbWB
22 M WnWnNnNwN BwBwbwbWb
23 N NnNnWnNwW bwbwBwbWB
24 O WnNnWnNwN BwbwBwbWb
25 P NnWnWnNwN bwBwBwbWb
26 Q NnNnNnWwW bwbwbwBWB
27 R WnNnNnWwN BwbwbwBWb
28 S NnWnNnWwN bwBwbwBWb
29 T NnNnWnWwN bwbwBwBWb
30 U WwNnNnNnW BWbwbwbwB
31 V NwWnNnNnW bWBwbwbwB
32 W WwWnNnNnN BWBwbwbwb
33 X NwNnWnNnW bWbwBwbwB
34 Y WwNnWnNnN BWbwBwbwb
35 Z NwWnWnNnN bWBwBwbwb
36 - NwNnNnWnW bWbwbwBwB
37 . WwNnNnWnN BWbwbwBwb
38 (spacja) NwWnNnWnN bWBwbwBwb
39 $ NwNwNwNnN bWbWbWbwb
40 / NwNwNnNwN bWbWbwbWb
41 + NwNnNwNwN bWbwbWbWb
42 % NnNwNwNwN bwbWbWbWb
-- * NwNnWnWnN bWbwBwBwb


Pomiędzy znakmi wstawiany jest dodatkowy wąski biały pasek. Nie zostało to coprawda określone w standardzie, jednakże czytniki mogą nie odczytać kodu, który nie zawiera takich przerw. Dla przykładu kod składający się z litery "A" będzie wyglądał następująco:
[bWbwBwBwb]w[BwbwbWbwB]w[bWbwBwBwb] i zostanie odczytany jako "*A*".

[edytuj] Suma kontrolna (Code 39 mod 43)

Czasem do kodu 3 z 9 dodawana jest dodatkowa suma kontrolna (odmiana kodu: Code 39 mod 43). Oblicza się ją następująco:

  • Sumuje się wartości (od 0 do 42) wszystkich znaków występujących w kodzie (za wyjątkiem znaków start/stop)
  • Od wyniku oblicza się wartość modulo 43
  • Otrzymany wynik jest wartością znaku sumy kontrolnej

Znak sumy kontrolnej dopisuje się do kodu przed znakiem stopu.

W Visual Basicu można przedstawić to w następujący sposób:

Const charSet As String = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%"
Function Mod43(C39 As String) As String
  For i = 1 To Len(C39)
    total = InStr(charSet, Mid(C39, i, 1)) - 1 + total
  Next i
  Mod43 = C39 & Mid$(charSet, (total Mod 43 + 1), 1)
End Function

[edytuj] Zapis całej tablicy znaków ASCII w Code 39

Istnieje rozwinięcie kodu 3 z 9 (Code 39 plus) pozwalające zakodować przy jego pomocy wszystkie 128 znaków kodu ASCII. 44 standardowe znaki kodowane są identycznie, jak w odmianie podstawowej. Natomiast pozostałe symbole reprezentowane są przez sekwencje dwóch znaków podstawowych.

Tablica
Nr Znak Kodowanie     Nr Znak Kodowanie     Nr Znak Kodowanie     Nr Znak Kodowanie
0 NUL %U 32 [spacja] [spacja] 64 @ %V 96 ` %W
1 SOH $A 33 ! /A 65 A A 97 a +A
2 STX $B 34 " /B 66 B B 98 b +B
3 ETX $C 35 # /C 67 C C 99 c +C
4 EOT $D 36 $ /D 68 D D 100 d +D
5 ENQ $E 37 % /E 69 E E 101 e +E
6 ACK $F 38 & /F 70 F F 102 f +F
7 BEL $G 39 ' /G 71 G G 103 g +G
8 BS $H 40 ( /H 72 H H 104 h +H
9 HT $I 41 ) /I 73 I I 105 i +I
10 LF $J 42 * /J 74 J J 106 j +J
11 VT $K 43 + /K 75 K K 107 k +K
12 FF $L 44 , /L 76 L L 108 l +L
13 CR $M 45 - - 77 M M 109 m +M
14 SO $N 46 . . 78 N N 110 n +N
15 SI $O 47 / /O 79 O O 111 o +O
16 DLE $P 48 0 0 80 P P 112 p +P
17 DC1 $Q 49 1 1 81 Q Q 113 q +Q
18 DC2 $R 50 2 2 82 R R 114 r +R
19 DC3 $S 51 3 3 83 S S 115 s +S
20 DC4 $T 52 4 4 84 T T 116 t +T
21 NAK $U 53 5 5 85 U U 117 u +U
22 SYN $V 54 6 6 86 V V 118 v +V
23 ETB $W 55 7 7 87 W W 119 w +W
24 CAN $X 56 8 8 88 X X 120 x +X
25 EM $Y 57 9 9 89 Y Y 121 y +Y
26 SUB $Z 58 : /Z 90 Z Z 122 z +Z
27 ESQ %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

[edytuj] Linki zewnętrzne

W innych językach

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu