Najlepsze pytania
Chronologia
Czat
Perspektywa

Code 39

Z Wikipedii, wolnej encyklopedii

Code 39
Remove ads

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.

Thumb
Przykład zapisu znaków alfanumerycznych w kodzie „Code39”. Znaki „*” są oznaczeniami Start/Stop, natomiast „$” jest znakiem kontrolnym wyliczonym na podstawie modulo43
Remove ads

Budowa kodu

Podsumowanie
Perspektywa

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.

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:

Więcej informacji Format1, Format2 ...
Więcej informacji Wartość, Znak ...

Pomiędzy znakmi wstawiany jest dodatkowy wąski biały pasek. Nie zostało to co prawda 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*”.

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 (z 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

Zapis całej tablicy znaków ASCII w Code 39

Istnieje rozwinięcie kodu 3 z 9 (Code 39 plus) pozwalające zakodować wszystkie 128 znaków kodu ASCII. Znacznik początku i końca kodu oraz 39 standardowych znaków (A–Z, 0–9, -, . i spacja) kodowanych jest identycznie, jak w odmianie podstawowej. Pozostałe symbole reprezentowane są przez sekwencje dwóch znaków podstawowych.

Więcej informacji Nr, Znak ...
Remove ads

Linki zewnętrzne

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads