StartStruktury danychKody kreskoweStandard Code 25
Baza Wiedzy
Wersja offline serwisu przeznaczona na urządzenia z systemem Android.

Darowizny
darowiznaWspomóż rozwój serwisu


Nagłówki RSS
Kanał artykuły
Kanał implementacje
Kanał komentarze
Kanał forum


Bookmarki









Sonda
Implementacji w jakim języku programowania poszukujesz?
 
Standard Code 25
Ocena użytkowników:+++++ / 3
SłabyŚwietny 
Wpisany przez Tomasz Lubiński
piątek, 30 marca 2007 14:27
Standard Code 25 - standardowy kod 2 z 5 - (ang. Standard 2 of 5) zwany inaczej przemysłowym kodem 2 z 5 (ang. Industrial 2 of 5) jest kodem kreskowym o bardzo małej gęstości wprowadzonym już w roku 1960. Pozwala on na przechowywanie dowolnej liczby cyfr. Kod ten wyposażony został w opcjonalną sumę kontrolną. Pojedyńcza cyfra kodowana jest przez 5 pasków, z których 2 są zawsze grube (ang. wide), a pozostałe cienkie (ang. narrow) - stąd nazwa kodowania: 2 z 5. Gruby pasek ma szerokość trzy-krotnie większą od paska cienkiego. Odstępy pomiędzy kodującymi paskami są zawsze takie same (mają szerokość paska cienkiego). Bardziej efektywną wersją standardowego kodu 2 z 5 jest Przeplatany kod 2 z 5 (ang. Interleaved 2 of 5).

    Obliczanie cyfry kontrolnej (zakładamy, że cyfra znajdująca się najbardziej na prawo jest na parzystej pozycji):
  • Sumujemy wszystkie cyfry na pozcyjach nieparzystych
  • Sumujemy wszystkie cyfry na pozcyjach parzystych i mnożymy wynik razy 3
  • Dodajemy do siebie obie sumy
  • Wynik dzielimy mod 10, odejmujemy go od 10 i znów dzielimy mod 10


Sposób kodowaniaCyfry kodowane są następująco (N - oznacza pasek wąski, W - oznacza pasek szeroki):
CyfraKodKod kreskowy
0NNWWN10101110111010
1WNNNW11101010101110
2NWNNW10111010101110
3WWNNN11101110101010
4NNWNW10101110101110
5WNWNN11101011101010
6NWWNN10111011101010
7NNNWW10101011101110
8WNNWN11101010111010
9NWNWN10111010111010


    Struktura standardowego kodu 2 z 5:
  • Znak start kodowany jako: 11011010
  • Kolejne cyfry zakodowane zgodnie z tabelą powyżej
  • Opcjonalna suma kontrolna
  • Znak stop kodowany jako: 11010110.


Przykład:
Zakodujemy liczbę: 1234567
Znak start kodowany jest jako: 11011010
Cyfra "1" kodowana jest jako: 11101010101110
Cyfra "2" kodowana jest jako: 10111010101110
Cyfra "3" kodowana jest jako: 11101110101010
Cyfra "4" kodowana jest jako: 10101110101110
Cyfra "5" kodowana jest jako: 11101011101010
Cyfra "6" kodowana jest jako: 10111011101010
Cyfra "7" kodowana jest jako: 10101011101110
Teraz obliczmy sumę kontrolną. (6 + 4 + 2) + (7 + 5 + 3 + 1) * 3 = 12 + 16 * 3 = 60 mod 10 = 0, 10 - 0 = 10, 10 mod 10 = 0, czyli jako cyfry kontrolnej uzyjemy "0" które kodowana jest jako: 10101110111010
Znak stop kodowany jako: 11010110

Wszystko razem daje nam: 11011010111010101011101011101010111011101110101010101011101011101110101110101010111011101010101010111011101010111011101011010110
co w zapisie graficznym wygląda następująco:
Standard Code 25



Autor Język programowania Komentarz Otwórz Pobierz Ocena
Tomasz Lubiński C/C++ Borland Builder 6
Implementacja w C/C++
Implementacja w C/C++
++++- / 1
Tomasz Lubiński Delphi/Pascal Borland Delphi 5
Implementacja w Delphi/Pascal
Implementacja w Delphi/Pascal
++++- / 2
Tomasz Lubiński Java
Implementacja w Java
Implementacja w Java
++++- / 2
 
Dodaj własną implementację tego algorytmu
  • Zaloguj się na stronie
Plik:
Język programowania:
Komentarz:
  By móc dodać implementacje zaloguj się na stronie



Poprawiony: poniedziałek, 31 maja 2010 18:52

Dodaj komentarz

Kod antysapmowy
Odśwież