Code 128 vonalkód
A Code 128 vonalkód kitűnően tömöríti a numerikus és alfanumerikus adatokat. Előnyösebb, mint a Code 39, mivel karakterválasztéka bővebb, és tömörebb. A Code 128 vonalkód karakter sorozata 0-9, A-Z (nagy és kis betűk), és az összes standard ASCII jelek és kontrol kódokból áll. A Code 128 vonalkód három jelkészletből áll: A, B és C. Az A jelkészlet a standard ASCII jeleket, számokat, nagybetűket és kontroll kódokat tartalmazza; A B jelkészlet a standard ASCII jeleket, számokat, nagybetűket és kisbetűket foglalja össze; míg a pusztán numerikus C változat két számot tömörít egy karakterbe, ráadásul, mindegyik alegység tartalmaz kontroll karaktereket, ami engedi a váltást egyik alegységtől a másikig egy vonalkódban. Végül, három külön start kód létezik, mely jelzi, hogy melyik alegységet használja.
A Code 128 vonalkód ellenőrző szám kalkulációja:
Minden egyes Code 128 karakternek van egy száma 0-102 ig. Az A és B alegységekben, a karakterek száma az ASCII kód megfelelője mínusz 32. Például, a felkiáltó jel (ASCII 33) száma 1. Az A alegység engedélyezi az ASCII kontroll karakterek nyomtatását (0-31 számú ASCII kódok). Ezekre a karakterekre vonatkozva, 64 -t kell adni az ASCII kódhoz a karakter száma kiszámításához. Például a NUL értéke (ASCII 0) 64, SOH (ASCII 1) 65, STX (ASCII 2) 66, stb. A C alegység párosan nyomtatja a számokat, és a karakter száma a checkszum kiszámításához, a pár értéke (00, 01, 02,.., 99). Az ellenőrző szám kalkulálása:
- A checkszum kezdeti értékét állítsd a start karakter értékére (103, 104, vagy 105 az A, B, vagy C alegység megfelelőjével).
- A szorzó kezdeti értékét állítsd 1-re.
- Kezdvén a vonalkód bal oldalán, add a karakter számát szorozva a szorzó értékével a checkszumhoz. A szorzó egyel növekszik minden karakter után.
- Oszd a végeredményt 103-lal.
- Alakítsd át a checkszum számértékét ASCII karakterekre.
A checkszum számértéke átalakítása ASCII karakterekre a betűtípuson is múlhat. Óvatosnak kell lenni mikor az eredményes ASCII kód szám értéke nulla, vagy ha 95-nél magasabb. Általában, ha az A alegységbe a checkszum 0-63-ig, add a „space” checkszumot az ASCII kódjához (32) a karakter kód kiszámításához. Ha a checkszum meghaladja 64 -t, vegyél el 64 -t a karakter kód kiszámításához. A B alegységbe, add a „space” checkszumot az ASCII kódjához (32) a karakter kód kiszámításához. A C alegységben, a checkszum egyenlő a karakter ASCII számértékével.