Sarà un po' difficile...
In linea di principio, questo è un codice a barre GS1-128. Si tratta di un codice 128 che contiene dati strutturati secondo le specifiche GS1.
Il problema è che, come nel vostro esempio, qualsiasi cosa può essere codificata con un codice a barre di questo tipo. Per prima cosa ho dovuto documentarmi su questo argomento...
WIKIPEDIA:
00 Numero dell'unità di spedizione: numero unico mondiale della spedizione, internazionale: SSCC (Serial Shipping Container Code).
01 GTIN dell'unità commerciale (numero di articolo, 14 cifre).
10 Numero di lotto/ numero di partita dell'articolo
11 Data di produzione (AAAAMMGG)
15 Data di scadenza (AAAAMMGG)
17 Data di scadenza (AAAAMMGG)
21 Numero di serie
30 Quantità, lunghezza variabile
310x Peso netto in chilogrammi (valore intero a 6 cifre con zeri iniziali), un valore per x indica il numero di cifre decimali
Sotto il codice a barre sono riportati gli identificatori unici tra parentesi. Nel vostro caso:
01, 3103, 17 e 10.
Purtroppo non si vedono le parentesi nel codice a barre. Le parentesi sono assenti. E vedo un altro problema:
(01) lunghezza normale 14 cifre, nel vostro codice è 15?
(310X) lunghezza 6 cifre con zeri iniziali
(17) data a 6 cifre
(10) Lunghezza probabilmente non definita...
Dove si delimitano i singoli valori l'uno dall'altro senza parentesi? Si potrebbero almeno estrarre (17) e (3103) dal codice, a patto che non compaiano due volte, cosa piuttosto improbabile con (3103).
In questo caso, uno scanner sarebbe ingegnoso, magari leggendo i marcatori o i caratteri speciali (forse sono parentesi), quindi sarebbe possibile un'assegnazione perfetta.
Ho provato tutti i miei scanner. Danno tutti lo stesso risultato e non aiutano molto. Ma sto ancora cercando...