Codici a barre Marco Dell Oro January 4, 2014 1 Cosa sono i codici a barre I codici a barre sono dei codici utilizzati nel settore della produzione e del commercio, oltre che nel settore pubblicitario e nel settore logistico-postale, e servono a scopi diversi, ma hanno sempre il compito di identificare prodotti o oggetti vari a livello elettronico, tramite lettori in grado di trasformare l immagine scansionata in un codice numerico (binario). Si suddividono in due grandi categorie: Codici monodimensionali: sono generalmente stampati sulle confezioni dei prodotti o sugli imballaggi, identificano prodotti e pacchi, vengono impiegati per tracciare la giacenza nei magazzini o per recuperare le informazioni sul prodotto contenute in un database (quello che accade alla cassa di un supermercato!). I piú utilizzati nel campo della distribuzione sono l EAN a 13 cifre e l EAN a 8 cifre. 1
Codici bidimensionali: hanno a volte utilizzi simili a quelli monodimensionali, ma non vengono usati nelle etichette dei prodotti, tuttavia i piú utilizzati sono i codici QR che permettono la connessione a domini sulla rete internet quando scansionati dalla fotocamera di uno smartphone o di un tablet. 2 Codici monodimensionali Parliamo del codice EAN che significa European Article Number, e appartiene ad uno standard internazionale chiamato UPC, ed é il codice a barre che leggono gli scanner ottici presenti nelle casse dei negozi. Esiste in due formati, ovvero 13 cifre e 8 cifre, regolamentati da leggi internazionali, che ne definiscono le informazioni immagazzinate. Le barre bianche o nere hanno larghezza diversa, e le possiamo vedere come somma di barre sottili di larghezza unitaria, che chiameremo moduli. Ciascuno di questi moduli ha valore 0 (bianco) oppure 1 (nero), e ogni cifra del codice viene rappresentata con 7 moduli. Il carattere di controllo centrale é codificato con 5 moduli, i caratteri di start e stop con 3 moduli, si tratta delle barre piú lunghe rispetto alle altre. Le codifiche utilizzate sono riportate in tabella, e sono diverse da quelle che 2
noi abbiamo imparato per i numeri, mentre i caratteri di controllo, start e stop hanno codifica fissa: il controllo centrale ha codifica 01010 mentre start e stop hanno codifica 101. La struttura del codice é piuttosto complicata, la riporto per capire come Carattere Codifica A Codifica B Codifica C 0 0001101 0100111 1110010 1 0011001 0110011 1100110 2 0010011 0011011 1101100 3 0111101 0100001 1000010 4 0100011 0011101 1011100 5 0110001 0111001 1001110 6 0101111 0000101 1010000 7 0111011 0010001 1000100 8 0110111 0001001 1001000 9 0001011 0010111 1110100 funziona, riferendomi ad un codice EAN a 13 caratteri. Da destra a sinistra: Carattere start 6 caratteri utilizzando la codifica C Carattere di controllo centrale 6 caratteri utilizzando la codifica A oppure B Carattere stop tredicesimo carattere (check digit) Il tredicesimo carattere, ovvero check digit, non é associato a delle barre, ma alla combinazione delle codifiche A e B dei sei caratteri che lo precedono: in pratica dalla combinazione delle codifiche A e B si riconosce il numero, che viene posto a destra degli altri. Check digit significa cifra di controllo, e viene calcolato con un algoritmo, che adesso proviamo ad eseguire. Prendiamo a titolo di esempio il codice seguente, formato dalle 12 cifre: 801339914055. 3
Cifra 1 2 3 4 5 6 7 8 9 10 11 12 Check digit Valore 8 0 1 3 3 9 9 1 4 0 5 5? Operazione 1 : Partendo dalla posizione 2 sommare i valori dei caratteri in posizione pari. Ris: 0 + 3 + 9 + 1 + 0 + 5 = 18 Operazione 2 : Moltiplicare per 3 il risultato dell operazione 1. Ris: 18 3 = 54 Operazione 3 : Partendo dalla posizione 3 sommare i valori dei caratteri in posizione dispari. Ris: 8 + 1 + 3 + 9 + 4 + 5 = 30 Operazione 4 : Sommare i risultati delle operazioni 2 e 3. Ris: 30 + 54 = 84 Operazione 5 : Il check digit e il piu piccolo numero che sommato al risultato dell operazione 4 da un numero multiplo di 10. Ris: 6 + 84 = 90 perció il carattere di controllo é 6 Il codice completo sará : 8013399140556. Vi sono altri codici monodimensionale diversi dall EAN, chi é interessato puó consultare il sito http://indicod-ecr.it/ dove si trovano le regole e gli standard utilizzati. 3 Codici bidimensionali I codici bidimensionali sono costruiti come griglie di bit in 2 dimensioni, con valori bianco o nero solitamente, e possono immagazzinare molti piú dati di quelli monodimensionali, avendo la possibilitá di utilizzare una dimensione in piú. Il piú noto é il codice QR che viene utilizzato per acquisire tramite dispositivi elettronici (smartphone, tablet, ecc.) delle informazioni complesse, solitamente URL relative a siti web o pagine specifiche di siti web. Nella figura vediamo come sono immagazzinati i dati (3), e quali bit siano riservati ad altre funzioni: informazioni sulla versione e formato (1 e 2) e bit riservati al posizionamento e allineamento del lettore ottico (4). 4
5