I codici a barre sono generati in modo che la «lettura diretta» da parte di un essere umano non sia una priorità. Tuttavia, questo non ci impedisce di conoscerne il meccanismo esatto. Il processo richiede pochi millisecondi per un computer, ma quel «beep!» casuale rappresenta una quantità importante di informazioni che comprende paese, nome dell’azienda, prodotto e una verifica finale destinata a controllare la corretta lettura del codice.
Breve storia del codice a barre
Come è accaduto per molte altre invenzioni, la storia del primo codice a barre destinato ai prodotti di consumo generale risale alla fine degli anni ’40. Ci sono diversi nomi associati alla sua creazione, ma i primi della lista sono Norman Joseph Woodland e Bernard Silver. Entrambi brevettarono una versione iniziale basata su un design circolare e, secondo lo stesso Woodland, ispirata al codice Morse.
Woodland finì sotto l’ala di IBM, che mostrò un grande interesse nel sistema (cercò persino di acquistare il brevetto), ma ammise che la potenza di calcolo necessaria non era ancora disponibile. Settant’anni dopo, i codici a barre sono stampati su quasi qualsiasi cosa tu possa immaginare: alimenti, medicinali, strumenti, abbigliamento... se qualcosa viene venduto per unità, confezione o peso, molto probabilmente ne vedrai uno.
Come funzionano i codici a barre
Ora, la domanda magica è... come funzionano? In che modo un laser può estrarre numeri da linee così sottili? Ovviamente, se sorgono problemi con la lettura, abbiamo sempre la possibilità di inserire i numeri a mano, ma tutto comincia con uno standard, ed è qui che entra in gioco l’organizzazione GS1, il cui quartier generale è a Bruxelles.
Con più di 100 uffici in tutto il mondo e un milione e mezzo di aziende registrate, in pratica devi rivolgerti a loro se hai bisogno di codici a barre per i tuoi prodotti. I due formati più popolari sono UPC-A ed EAN-13. Si suppone che UPC-A venga utilizzato negli Stati Uniti e in Canada, ma la magia del commercio internazionale rende molto facile trovare esemplari di entrambi i formati.
Prendiamo il caso di UPC-A: ogni codice ha 95 barre (sì, 95) che possono essere nere o bianche, con tre pilastri di separazione che marcano l’inizio, il centro e la fine. I pilastri consumano 11 barre (il modello è 3-5-3), lasciando un totale di 84 barre per memorizzare le informazioni. Quelle 84 barre sono divise in dodici gruppi (uno per numero) di sette barre. La configurazione delle barre stabilisce la codifica del gruppo e, di conseguenza, la cifra che si vuole rappresentare. Wikipedia ha fatto il lavoro pesante pubblicando un grafico preciso con ogni combinazione possibile:
C’è qualcosa di strano in quell’immagine, vero? Ci si aspetterebbe che la codifica per ogni cifra sia la stessa su entrambi i lati del codice, ma non funziona così. In effetti, un occhio allenato probabilmente noterà una sottigliezza: le barre bianche nella metà sinistra sono sempre pari, mentre nella metà destra sono dispari. Perché? Perché garantisce il processo di lettura anche quando il codice è capovolto, cosa che accade molto spesso. Se il lettore riconosce che le barre bianche del lato sinistro appaiono come dispari, sa automaticamente che deve iniziare a leggere dal lato destro.
Cosa ci dice il numero in sé? Ancora una volta rimaniamo nel campo di UPC-A e scopriamo che le prime tre cifre rappresentano il paese. Se hai vicino alcuni codici che vuoi esplorare, puoi fare clic qui per accedere a la tabella ufficiale dei prefissi GS1 oppure, in alternativa, usare questo cercatore di identità internazionale (è sufficiente scrivere il codice, ma c’è un limite di ricerche al giorno). Il resto del codice include l’azienda e il prodotto.
È qui che GS1 guadagna: i grandi attori di ogni mercato hanno un’enorme quantità di prodotti, quindi richiedono che la sezione «paese + azienda» del codice sia corta, altrimenti non sarebbero in grado di generare codici a barre per tutto il loro catalogo. Al contrario, le aziende con offerte piccole (dieci prodotti o meno) possono accedere a un prefisso molto più economico.
La chiusura di questo articolo appartiene all’ultima cifra del codice a barre UPC-A, che in sostanza è il checksum, un controllo che conferma la corretta lettura del codice. Come si calcola? Per prima cosa sommiamo le sei cifre nelle posizioni dispari del codice e moltiplichiamo per tre. Poi sommiamo le cinque cifre nelle posizioni pari. Quindi sommiamo i risultati di entrambe le operazioni. L’ultimo passo è prendere quel numero e sommare la cifra di verifica, che dovrebbe convertire il risultato in un multiplo di 10. Facciamo la prova con il codice del nostro mouse Logitech:
- (0 + 7 + 5 + 0 + 3 + 5) = 20
- (20 x 3) = 60
- (9 + 8 + 5 + 6 + 9) = 37
- (60 + 37) = 97
- (97 + 3) = 100
Proprio come mostra l’immagine.