We need to parse the GS1 datamatrix barcode which will be provided by other party. We know they are going to use GTIN(01), lot number(10), Expiration date(17), serial number (21). The problems is that barcode reader output a string, the format is like this 01076123456789001710050310AC3453G321455777. Since there is not separator and both serial number and lot number are variable length according to GS1 standard, we have trouble to identify segments. My understanding is that it seems like the best way to parse is to embed the parser in the scanning device, not from the application. But we didn't plan an embed software yet. How can I implement the parser? Any suggestions?
GS1 barcode parsing
17.8k views Asked by BackToSorrento At
2
There are 2 answers
1

One way to deal with this is to program the scanner to replace FNC1 with space or another plain text character before sending it to your application. The scanner manufacturer usually provides a tool to produce programming bar codes that can do simple substitutions in the scanner. Then you can parse the data without having to handle special characters.
Related Questions in PARSING
- project version in .exe-filename
- Modifying AndroidManifest.xml with build tag causes infinite rebuilding in Eclipse
- Versioned containers
- Adding some automatic versioning to CSS files. How come I'm not able to pull assembly info?
- How to commit subversion revision with every commit in order to refer between two repositories
- Forcing the browser to reload css/js only if they have changed
- Best way to specify version in REST service calls
- How to auto increase versioning so that browser can automatically reload the JS/CSS files without having to clear the cache manually
- PHP Get version from url
- In a Golang application, how to embed a version in a other package than main?
Related Questions in BARCODE
- project version in .exe-filename
- Modifying AndroidManifest.xml with build tag causes infinite rebuilding in Eclipse
- Versioned containers
- Adding some automatic versioning to CSS files. How come I'm not able to pull assembly info?
- How to commit subversion revision with every commit in order to refer between two repositories
- Forcing the browser to reload css/js only if they have changed
- Best way to specify version in REST service calls
- How to auto increase versioning so that browser can automatically reload the JS/CSS files without having to clear the cache manually
- PHP Get version from url
- In a Golang application, how to embed a version in a other package than main?
Related Questions in DATAMATRIX
- project version in .exe-filename
- Modifying AndroidManifest.xml with build tag causes infinite rebuilding in Eclipse
- Versioned containers
- Adding some automatic versioning to CSS files. How come I'm not able to pull assembly info?
- How to commit subversion revision with every commit in order to refer between two repositories
- Forcing the browser to reload css/js only if they have changed
- Best way to specify version in REST service calls
- How to auto increase versioning so that browser can automatically reload the JS/CSS files without having to clear the cache manually
- PHP Get version from url
- In a Golang application, how to embed a version in a other package than main?
Related Questions in GS1-DATAMATRIX
- project version in .exe-filename
- Modifying AndroidManifest.xml with build tag causes infinite rebuilding in Eclipse
- Versioned containers
- Adding some automatic versioning to CSS files. How come I'm not able to pull assembly info?
- How to commit subversion revision with every commit in order to refer between two repositories
- Forcing the browser to reload css/js only if they have changed
- Best way to specify version in REST service calls
- How to auto increase versioning so that browser can automatically reload the JS/CSS files without having to clear the cache manually
- PHP Get version from url
- In a Golang application, how to embed a version in a other package than main?
Related Questions in GS1-AI-SYNTAX
- project version in .exe-filename
- Modifying AndroidManifest.xml with build tag causes infinite rebuilding in Eclipse
- Versioned containers
- Adding some automatic versioning to CSS files. How come I'm not able to pull assembly info?
- How to commit subversion revision with every commit in order to refer between two repositories
- Forcing the browser to reload css/js only if they have changed
- Best way to specify version in REST service calls
- How to auto increase versioning so that browser can automatically reload the JS/CSS files without having to clear the cache manually
- PHP Get version from url
- In a Golang application, how to embed a version in a other package than main?
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Popular Tags
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
There should be a FNC1 character at the end of a variable-length field; so that FNC1 will appear between the
G3
and the21
.FNC1 is invisible to humans but can be detected by scanners and should be reproduced in the string reported by the scanner as the GS character (ASCII value 29). Simply send the string directly to a text file and examine the text with a hex reader. The
GS
character representing the barcode's FNC1 separator should be obvious.If you can, it might be an idea to swap the sequence of the
21
field and the10
field since you appear to be using a pure-numeric for21
. This would make the barcode produced a little shorter.