Streepjescodes worden zo gemaakt dat het voor een mens niet de bedoeling is om ze direct te lezen. Toch kunnen we hun exacte mechanisme begrijpen. Het proces kost een computer slechts enkele milliseconden, maar die achteloze piep! vertegenwoordigt een aanzienlijke hoeveelheid informatie, waaronder land, bedrijfsnaam, product en een eindcontrole om te verifiëren dat de code correct is gelezen.
Korte geschiedenis van de streepjescode
Net als veel andere uitvindingen gaat de geschiedenis van de eerste streepjescode voor algemene consumentenproducten terug tot het einde van de jaren '40. Er zijn verschillende namen aan verbonden, maar de eersten op de lijst zijn Norman Joseph Woodland en Bernard Silver. Beiden patenteerden een eerste versie op basis van een cirkelvormig ontwerp, en volgens Woodland zelf geïnspireerd door de morsecode. Woodland kwam terecht bij IBM, dat veel belangstelling toonde in het systeem (het probeerde zelfs het patent te kopen), maar toegaf dat de benodigde rekenkracht nog niet beschikbaar was. Zeventig jaar later staan streepjescodes op bijna alles wat je maar kunt bedenken. Voedsel, medicijnen, gereedschap, kleding... als het per stuk, per verpakking of per gewicht wordt verkocht, is de kans groot dat je er een ziet.
Hoe werken streepjescodes?
Nu de magische vraag: hoe werken ze? Hoe kan een laser cijfers halen uit zulke dunne lijnen? Als er een probleem is met het lezen, kunnen we altijd de cijfers handmatig invoeren, maar het begint allemaal met een standaard, en daar komt de organisatie GS1 om de hoek kijken, met het hoofdkantoor in Brussel. Met meer dan 100 kantoren wereldwijd en anderhalf miljoen geregistreerde bedrijven, moet je in principe met hen zaken doen als je streepjescodes voor je producten nodig hebt. De twee meest populaire formaten zijn UPC-A en EAN-13. Het wordt aangenomen dat UPC-A wordt gebruikt in de Verenigde Staten en Canada, maar de magie van de internationale handel maakt het heel eenvoudig om exemplaren van beide formaten te vinden.
Neem bijvoorbeeld UPC-A: elke code heeft 95 streepjes (ja, 95) die zwart of wit kunnen zijn, met drie scheidingspijlers die het begin, het midden en het einde markeren. De pijlers verbruiken 11 streepjes (het patroon is 3-5-3), waardoor er in totaal 84 streepjes overblijven om de informatie op te slaan. Die 84 streepjes worden verdeeld in twaalf groepen (één per cijfer) van zeven streepjes. De configuratie van de streepjes bepaalt de codering van de groep, en dus het cijfer dat wordt weergegeven. Wikipedia heeft het zware werk gedaan door een nauwkeurige grafiek te publiceren met elke mogelijke combinatie.
Er is iets vreemds aan dat beeld, vind je niet? Je zou verwachten dat de codering voor elk cijfer aan beide kanten van de code hetzelfde is, maar zo werkt het niet. Sterker nog, het geoefende oog zal waarschijnlijk een subtiliteit opmerken: de witte streepjes aan de linkerhelft zijn altijd even, terwijl ze aan de rechterhelft oneven zijn. Waarom? Omdat het leesproces wordt gegarandeerd, zelfs als de code ondersteboven wordt gehouden, iets dat heel vaak gebeurt. Als de lezer herkent dat de witte streepjes aan de linkerkant als oneven verschijnen, weet hij automatisch dat hij aan de rechterkant moet beginnen met lezen.
Wat zegt het nummer zelf? We blijven in het UPC-A-terrein en ontdekken dat de eerste drie cijfers het land vertegenwoordigen. Als je wat codes in de buurt hebt om te verkennen, kun je hier klikken om naar de officiële GS1-prefixtabel te gaan, of als alternatief gebruikmaken van deze internationale identiteitszoeker (het is voldoende om de code in te voeren, maar er is een dagelijkse zoeklimiet). De rest van de code bevat het bedrijf en het product.
Hier verdient GS1 zijn geld: De grote spelers in elke markt hebben een enorme hoeveelheid producten, dus ze vereisen dat het gedeelte «land + bedrijf» van de code kort is, anders zouden ze geen streepjescodes kunnen genereren voor hun hele catalogus. Bedrijven met een klein aanbod (tien producten of minder) kunnen juist een veel goedkoper prefix krijgen.
De afsluiting van dit artikel gaat over het laatste cijfer van een UPC-A-streepjescode, dat in wezen de checksum is, een controle die de correcte lezing van de code bevestigt. Hoe wordt het berekend? Eerst tellen we de zes cijfers op de oneven posities van de code bij elkaar op, en vermenigvuldigen we met drie. Daarna tellen we de vijf cijfers op de even posities op. Vervolgens tellen we de resultaten van beide bewerkingen bij elkaar. De laatste stap is om dat getal te nemen en het controlecijfer op te tellen, dat het resultaat in een veelvoud van 10 zou moeten veranderen. Laten we dit testen met de code van onze Logitech-muis:
- (0 + 7 + 5 + 0 + 3 + 5) = 20
- (20 x 3) = 60
- (9 + 8 + 5 + 6 + 9) = 37
- (60 + 37) = 97
- (97 + 3) = 100
Precies zoals de afbeelding laat zien.