Tipi di codici a barre

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.

Codici lineari e 2D a confronto
AspettoLineari (1D)2D (matrice o impilati)
Capacità tipicaDa 8 a qualche decina di caratteriDa pochi caratteri a migliaia (QR fino a 7089 cifre)
Contenuto tipicoUna chiave: GTIN, codice articolo, numero spedizioneDati completi: URL, lotto, scadenza, seriale, testo
Protezione dagli erroriCifra di controllo: rileva l'errore, non lo correggeCorrezione Reed-Solomon: ricostruisce parti mancanti
Spazio occupatoCresce in lunghezza con i datiMolto compatto; Data Matrix stampabile in pochi millimetri
OrientamentoIl lettore deve attraversare le barre (laser e lineari)Leggibile in qualsiasi orientamento
Lettori compatibiliLaser, imager lineare, imager 2D, telefonoSolo imager 2D e fotocamere
EsempiEAN-13, UPC, Code 128, Code 39, ITF, DataBarQR 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

Compatibilità tra tipo di lettore e famiglia di codici
LettoreLineari su cartaLineari da schermoImpilatiMatriciali (QR, DM)
LaserSìDi solito noNo (tranne laser raster dedicati)No
Imager lineare (CCD)SìSpesso sì, dipende dal modelloNoNo
Imager 2DSìSìSìSì
Smartphone con appSì, più lentoSì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 come httpsç--. 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

  • ISO/IEC 18004 (QR Code), ISO/IEC 16022 (Data Matrix), ISO/IEC 15438 (PDF417), ISO
  • GS1 General Specifications e materiali sul passaggio ai codici 2D, GS1
  • Product Reference Guide dei lettori 2D Zebra e Honeywell

Altro in Tipi di codici a barre

Tutta la sezione Tipi di codici a barre