Codici a barre lineari (1D) e codici 2D: differenze reali e quale lettore serve
Un codice lineare (1D) memorizza i dati nella larghezza di barre e spazi lungo una sola direzione: pochi caratteri, di solito un identificativo. Un codice 2D usa righe sovrapposte o una matrice di moduli e contiene da decine a migliaia di caratteri, con correzione degli errori. I lineari si leggono con qualsiasi lettore; i 2D richiedono un imager 2D o uno smartphone.
La differenza in pratica
In un codice lineare l'informazione sta tutta in una "fetta" orizzontale: se tracci una linea attraverso le barre, in qualsiasi punto della loro altezza, ottieni gli stessi dati. L'altezza delle barre serve solo a dare tolleranza al puntamento. Per questo un laser, che legge una singola linea, è sufficiente.
In un codice 2D l'informazione è distribuita su tutta la superficie. Nessuna singola linea basta: il lettore deve acquisire un'immagine e ricostruire la griglia. È il motivo per cui laser e imager lineari non possono leggere un QR Code, indipendentemente da come li configuri.
| Aspetto | Lineari (1D) | 2D (matrice o impilati) |
|---|---|---|
| Capacità tipica | Da 8 a qualche decina di caratteri | Da pochi caratteri a migliaia (QR fino a 7089 cifre) |
| Contenuto tipico | Una chiave: GTIN, codice articolo, numero spedizione | Dati completi: URL, lotto, scadenza, seriale, testo |
| Protezione dagli errori | Cifra di controllo: rileva l'errore, non lo corregge | Correzione Reed-Solomon: ricostruisce parti mancanti |
| Spazio occupato | Cresce in lunghezza con i dati | Molto compatto; Data Matrix stampabile in pochi millimetri |
| Orientamento | Il lettore deve attraversare le barre (laser e lineari) | Leggibile in qualsiasi orientamento |
| Lettori compatibili | Laser, imager lineare, imager 2D, telefono | Solo imager 2D e fotocamere |
| Esempi | EAN-13, UPC, Code 128, Code 39, ITF, DataBar | QR Code, Data Matrix, PDF417, Aztec |
Lineari, impilati e matriciali
La distinzione 1D/2D è comoda ma un po' grossolana. Le famiglie sono in realtà tre:
Lineari
Una sola riga di barre. Comprende tutti i codici retail (EAN e UPC) e quelli industriali (Code 128, Code 39, ITF).
Impilati (stacked)
Più righe di codice lineare sovrapposte, ciascuna con indicatori che dicono al lettore a quale riga appartiene. Esempi: PDF417 e le varianti Stacked del GS1 DataBar. Alcuni vecchi laser a scansione raster (più linee) leggevano PDF417, ma oggi si usano imager 2D.
Matriciali
Griglia di moduli quadrati con pattern di riferimento per orientamento e dimensione: QR Code, Data Matrix, Aztec. Richiedono sempre un sensore d'immagine.
Quale lettore per quale codice
| Lettore | Lineari su carta | Lineari da schermo | Impilati | Matriciali (QR, DM) |
|---|---|---|---|---|
| Laser | Sì | Di solito no | No (tranne laser raster dedicati) | No |
| Imager lineare (CCD) | Sì | Spesso sì, dipende dal modello | No | No |
| Imager 2D | Sì | Sì | Sì | Sì |
| Smartphone con app | Sì, più lento | Sì | Sì | Sì |
Il dettaglio su come funzionano le tre tecnologie è nella guida laser, CCD o imager 2D. Per la lettura da display di telefoni e tablet, che mette in difficoltà i laser, vedi leggere codici da schermo.
Perché sempre più aziende passano al 2D
Anche se tratti solo codici EAN oggi, un imager 2D ha senso per motivi concreti:
- Codici che arrivano da fuori. Fornitori, corrieri e clienti usano sempre più spesso QR Code e Data Matrix su DDT, etichette e biglietti. Un laser ti costringe a digitare a mano.
- Farmaci e sanità. Il GS1 DataMatrix con codice prodotto, lotto, scadenza e seriale è la direzione indicata dalla normativa europea sui medicinali (Reg. del. UE 2016/161) e dalle procedure ospedaliere.
- Codici a schermo. Coupon, carte fedeltà su app, biglietti: quasi sempre su display.
- Codici danneggiati. Un QR o un Data Matrix con una parte rovinata spesso si legge ancora grazie alla correzione degli errori; un EAN con una barra cancellata no.
- Puntamento più facile. Con un imager 2D non serve allineare la linea al codice: basta inquadrarlo.
GS1 promuove inoltre il passaggio a codici 2D anche alle casse (iniziativa nota come "Sunrise 2027"): i lettori acquistati oggi per la cassa dovrebbero essere in grado di leggere QR Code e Data Matrix GS1, anche se l'EAN-13 resterà a lungo in uso.
Caso tipico: un negozio con un lettore laser da banco inizia ad accettare buoni sconto inviati via app. Le casse non riescono a leggere il codice dallo schermo del cliente, che è un QR Code. Nessuna impostazione può risolvere: serve un imager 2D. In questi casi conviene scegliere direttamente un modello da banco o a pistola 2D, che legge anche tutti gli EAN già in uso.
Cosa cambia nei dati che arrivano al PC
Con un codice lineare ricevi una stringa breve, quasi sempre senza caratteri speciali. Con un codice 2D puoi ricevere:
- Testi lunghi, che in emulazione tastiera richiedono tempo: un QR con 500 caratteri viene "digitato" un tasto alla volta. Se l'applicazione perde caratteri, aumenta il ritardo tra caratteri nelle impostazioni del lettore.
- Simboli e accenti (URL, indirizzi, nomi): qui il layout di tastiera diventa critico. Un QR con
https://letto da un lettore impostato su US con PC italiano arriva comehttpsç--. Vedi impostare la tastiera italiana. - Caratteri di controllo come Invio a capo nei testi multiriga o il separatore GS (ASCII 29) nei codici GS1, che in emulazione tastiera spesso si perde. Vedi carattere GS e FNC1.
QR Code contenuto: https://example.com/a-b Lettore US, PC italiano: httpsç--example.com-a'b Lettore impostato IT: https://example.com/a-b
Errori comuni
- Confondere "2D" con "lettura da schermo". Molti imager lineari leggono un EAN dal telefono; nessun imager lineare legge un QR Code.
- Stampare un QR enorme per pochi caratteri. Se devi codificare solo un codice articolo, un Code 128 o un Data Matrix piccolo è più adatto.
- Considerare la correzione errori come garanzia. Aiuta, ma la zona di rispetto e il contrasto restano essenziali anche nei 2D.
Domande frequenti
Il PDF417 è un codice 1D o 2D?
È un codice 2D di tipo impilato: più righe sovrapposte. In pratica richiede un imager 2D.
Un lettore 2D è più lento su un EAN rispetto a un laser?
Sui modelli attuali no: la decodifica è praticamente istantanea. In passato i laser erano percepiti come più rapidi, ma gli imager moderni sono allo stesso livello e tollerano meglio puntamento e angolo.
Posso leggere i codici 2D con il telefono e mandarli al PC?
Sì, con app che fanno da tastiera o inviano i dati via rete; per uso continuativo però un lettore dedicato è più rapido. Vedi smartphone o lettore dedicato.
Fonti e riferimenti
Altro in Tipi di codici a barre
- Cifra di controllo: calcolo EAN, UPC, GTIN e SSCC
- Code 128: struttura, set A B C e impostazioni lettore
- Code 39: caratteri, mod 43, Code 32 e impostazioni
- Data Matrix e GS1 DataMatrix: struttura e lettura
- EAN-13 ed EAN-8: struttura, prefissi e lettura
- GS1-128 e Application Identifier: guida pratica
- GS1 DataBar: varianti, uso e impostazioni del lettore
- Interleaved 2 of 5 e ITF-14: struttura e lettura
- PDF417: struttura, capacità e lettori compatibili
- QR Code: struttura, capacità e lettura con lo scanner
- UPC-A e UPC-E: struttura, conversioni e lettura