Kode 39 - Code 39

En strekkodeetikett 39
* WIKIPEDIA* kodet i kode 39

Kode 39 (også kjent som Alpha39 , kode 3 av 9 , kode 3/9 , type 39 , USS kode 39 eller USD-3 ) er en variabel lengde, diskret strekkodesymbol .

Kode 39-spesifikasjonen definerer 43 tegn, bestående av store bokstaver (A til Z), numeriske sifre (0 til 9) og et antall spesialtegn (-,., $, /, +, %Og mellomrom ). Et tilleggstegn (betegnet '*') brukes for både start- og stoppavgrensere. Hver karakter består av ni elementer: fem søyler og fire mellomrom. Tre av de ni elementene i hvert tegn er brede (binær verdi 1), og seks elementer er smale (binær verdi 0). Breddeforholdet mellom smalt og bredt er ikke kritisk, og kan velges mellom 1: 2 og 1: 3.

Selve strekkoden inneholder ikke et kontrollsiffer (i motsetning til for eksempel kode 128 ), men det kan betraktes som selvkontrollert med den begrunnelse at en enkelt feil tolket stolpe ikke kan generere et annet gyldig tegn. Den mest alvorlige ulempen med kode 39 er muligens den lave datatettheten: Det krever mer plass for å kode data i kode 39 enn for eksempel i kode 128. Dette betyr at svært små varer ikke kan merkes med en kode 39 -basert strekkode. Imidlertid brukes kode 39 fortsatt av noen posttjenester (selv om Universal Postal Union anbefaler å bruke kode 128 i alle tilfeller), og kan dekodes med praktisk talt hvilken som helst strekkodeleser . En fordel med kode 39 er at siden det ikke er behov for å generere et kontrollsiffer, kan det enkelt integreres i et eksisterende utskriftssystem ved å legge til en strekkodeskrift i systemet eller skriveren og deretter skrive ut rådata i denne skrifttypen.

Kode 39 ble utviklet av Dr. David Allais og Ray Stevens fra Intermec i 1974. Deres originale design inkluderte to brede streker og en bred plass i hver karakter, noe som resulterte i 40 mulige tegn. Ved å sette av et av disse tegnene som et start- og stoppmønster, etterlot 39 tegn, som var opprinnelsen til navnet Code 39. Fire skilletegn ble senere lagt til, uten brede linjer og tre brede mellomrom, og tegnsettet ble utvidet til 43 tegn. Kode 39 ble senere standardisert som ANSI MH 10,8 M-1983 og MIL-STD-1189. MIL-STD-1189 er kansellert og erstattet av ANSI/AIM BC1/1995, Uniform Symbology Specification-Code 39.

Koding

Den * karakter presentert nedenfor er ikke en sann kodbar karakter, men er start og stopp symbol for kode 39. Den asymmetri av symbolet tillater leseren å bestemme retningen av strekkoden som skal skannes. Denne koden er tradisjonelt tilordnet * tegnet i strekkode fonter og vil ofte vises med lesbare representasjon sammen med strekkoden.

Kode 39 tegn

Som en generalitet kan plasseringen av de to brede stolpene anses å kode et tall mellom 1 og 10, og plasseringen av det brede rommet (som har fire mulige posisjoner) kan anses å klassifisere karakteren i en av fire grupper ( fra venstre til høyre): Bokstaver (+30) (U – Z), sifre (+0) (1–9,0), bokstaver (+10) (A – J) og bokstaver (+20) (K– T). For eksempel har bokstaven P (som er den 16. bokstaven i alfabetet) stolpene justert for å representere tallet 6, og mellomrommet helt til høyre for å velge gruppen Bokstaver (+20).

Når det er representert som et siffer, brukes tallet "10" for å kode tallet null. Fordi det bare er seks bokstaver i bokstaven (+30) -gruppen (bokstavene 30–35 eller U – Z), brukes de fire andre posisjonene i denne gruppen (36–39) for å representere tre symboler (bindestrek, punktum, mellomrom ) samt start/stopp -tegnet.

De to brede stolpene, av fem mulige posisjoner, koder et tall mellom 1 og 10 ved å bruke en to-av-fem-kode med følgende numeriske ekvivalens: 1, 2, 4, 7, 0. Tallene summeres sammen. For eksempel er tallet 6 kodet NWWNN, med brede stolper som inntar posisjonene for 2 og 4 (2+4 = 6). Når det gjelder NNWWN som er 4+7 = 11 , er det tildelt 0 for sifre (+0) og 10 for bokstavkolonnene (+10 - +30). Ved koding av (+10 til +30) bokstavene trenger ligningen et "-1" lagt til, så 'A' er WNNNW → 1 +10 - 1 → 10 som vist i tabellen.

De fire siste tegnene består av alle smale stolper og tre brede mellomrom. Det er fire mulige stillinger for det enkelt smale rommet.

Denne tabellen skisserer spesifikasjonen for Code 39. Den numeriske verdien som er tilordnet hvert tegn (unntatt start/stopp) brukes i kontrollsumalgoritmen beskrevet nedenfor.

Kode 39 tegn (og kontrollsumverdier)
Barer Plasser
|| ||| +0 ||| || +10 |||| | +20 | |||| +30
▮ ||| ▮ 1 ▮ | || ▮ 1 1 ▮ || | ▮ EN 10 ▮ ||| ▮ K 20 ▮ ||| ▮ U 30
| ▮ || ▮ 2 | ▮ || ▮ 2 2 | ▮ | | ▮ B 11 | ▮ || ▮ L 21 | ▮ || ▮ V 31
▮▮ ||| 3 ▮▮ ||| 3 3 ▮▮ | || C 12 ▮▮ || | M 22 ▮ ▮ ||| W 32
|| ▮ | ▮ 4 || ▮ | ▮ 4 4 || ▮ | ▮ D 1. 3 || ▮ | ▮ N 23 | | ▮ | ▮ X 33
▮ | ▮ || 5 ▮ | ▮ || 5 5 ▮ | ▮ || E 14 ▮ | ▮ | | O 24 ▮ | ▮ || Y 34
| ▮▮ || 6 | ▮ ▮ || 6 6 | ▮▮ || F 15 | ▮▮ | | P 25 | ▮▮ || Z 35
||| ▮▮ 7 || | ▮▮ 7 7 ||| ▮▮ G 16 ||| ▮ ▮ Sp 26 | || ▮▮ - 36
▮ || ▮ | 8 ▮ | | ▮ | 8 8 ▮ || ▮ | H 17 ▮ || ▮ | R 27 ▮ || ▮ | . 37
| ▮ | ▮ | 9 | ▮ | ▮ | 9 9 | ▮ | ▮ | Jeg 18 | ▮ | ▮ | S 28 | ▮ | ▮ | 38
|| ▮▮ | 10 || ▮▮ | 0 0 || ▮ ▮ | J 19 || ▮▮ | T 29 | | ▮▮ | *
||||| | | | || $ 39 | | || | / 40 | || | | + 41 || | | | % 42

Tegn skilles av et ekstra smalt mellomrom. For eksempel er hele kodingen for enkeltbokstaven "A", som faktisk inkluderer start- og stopptegnene som "*A*", "| | ▮▮ | ▮ || | ▮ | | ▮▮ |" . Koden vil ikke bli lest ordentlig uten disse mellomtegnene. Strekkodeskrifter inkluderer alltid denne plassen i tegnet for tegnet.

Kode 39 mod 43

Kode 39 brukes noen ganger med et valgfritt modulo 43 -kontrollsiffer . Denne funksjonen krever at denne funksjonen er aktivert i strekkodeleseren. Koden med kontrollsiffer kalles kode 39 mod 43 .

For å beregne dette tildeles hvert tegn en verdi. Oppgavene er listet opp i tabellen ovenfor, og nesten, men ikke helt, systematisk.

Slik gjør du beregningen av kontrollsummen :

  • Ta verdien (0 til 42) av hvert tegn i strekkoden, unntatt start- og stoppkoder.
  • Sum verdiene.
  • Del resultatet med 43.
  • Resten er verdien av kontrollsumtegnet som skal legges til.

Full ASCII -kode 39

Kode 39 er begrenset til 43 tegn. I full ASCII Code 39 Symboler 0-9, AZ, ".", "-" og mellomrom er de samme som representasjonene i Code 39. Små bokstaver, flere skilletegn og kontrolltegn er representert med sekvenser av to tegn i Code 39.

Kode detaljer
Nr Karakter Koding     Nr Karakter Koding     Nr Karakter Koding     Nr Karakter Koding
0 NUL %U     32 [rom] [rom]     64 @ %V     96 ` %W.
1 SOH $ A.     33 ! /EN     65 EN EN     97 en +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 ) /JEG     73 Jeg Jeg     105 Jeg +Jeg
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.
1. 3 CR $ M     45 - -     77 M M     109 m +M.
14 $ 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 s +S
17 DC1 $ Q     49 1 1     81 Sp Sp     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 KAN $ X     56 8 8     88 X X     120 x +X
25 EM $ Y     57 9 9     89 Y Y     121 y +Y
26 UNDER $ Z     58 : /Z     90 Z Z     122 z +Z
27 ESC %EN     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 > %JEG     94 ^ %N     126 ~ %S
31 OSS %E     63 ? %J     95 _ %O     127 DEL %T, %X, %Y, %Z

Programvare

Disse gratis og åpen kildekodeprogramvarene kan produsere strekkoder for kode 39:

Referanser