Supported GS1 representations
The parser accepts human-readable bracketed notation, harmonized element strings beginning with ^, AIM-prefixed scanner data and GS1 Digital Link URIs. It reports the detected representation before listing extracted data.
Example
(01)09520123456788(10)ABC123(17)270101(21)SERIAL9GTIN, batch, expiration and serial data are validated and separated.Dictionary-driven field boundaries
Fixed and variable field lengths are handled by the official engine and its embedded GS1 AI table. ProductPassKit does not try to reproduce the full Barcode Syntax Dictionary with an incomplete switch statement.
FNC1 and group separator handling
In unbracketed or scanner representations, a separator is required after a variable-length field when more AI data follows. The interface accepts the engine’s ^ notation and {GS} in scanner examples to make otherwise invisible separators explicit.
Frequently asked questions
Are parentheses encoded in a barcode?
Not necessarily. Parentheses are human-readable notation used to distinguish AIs; encoded element strings use FNC1 / group separators according to the syntax rules.
Is the parser limited to four AIs?
No. The examples emphasize AIs 01, 10, 17 and 21, but parsing uses the engine’s broader embedded AI table.