Brief Introduction of Code 39
General information for generating Code 39 & recommended barcode generator for ASP.NET, Winforms, Word and Excel
Code 39 Barcode Introduction
Code 39 is also referred to as Alpha39, Code 3 of 9, Code 3/9, Type 39, USS Code 39, or USD-3. It is a discrete, self-checking, bidirectionally decodable linear barcode symbology developed in 1974. It is the first aphanumeric symbology to be developed by Dr. David Allais and Ray Stevens of Intermec. Code 39
is capable of encode data in variable length and is widely used non-retail industries. Code 39 is also employed by United States Department of Defense and Health Industry Bar Code Council (HIBCC).
Code 39 Barcode Generator for .NET Applications
Aspper.com provides complete solution for implement Code 39 barcode symbolgoy into .NET applications.
Detailed Information for Code 39 and Code 39 Extended
Code 39 Valid Character Set
- Full alphanumeric A to Z and 0 to 9 (ASCII characters 65 to 90 and 48 to 57 inclusive, in accordance with ISO 646)
- Special characters: space $ % + - . / (ASCII characters 32, 36, 37, 43, 45, 46 and 47, respectively, in accordance with ISO 646)
- Start/stop character (usually depicted in human-readable form by a * (asterisk)
Code 39 Structure
Each Code 39 character is composed of 9 elements, 5 of which are bars and the others are spaces. And each symbol in Code 39 should be separated by a intercharacter gap. Code 39 is defined in ISO/IEC 16388 and shall be considered as conforming to structures below:
- A leading quiet zone
- A start character
- One or more symbol characters representing data
- One optional checksum digit
- A stop character
- A trailing quiet zone
Introduction of Extended Code 39
Extended Code 39 was designed for easy encoding of lower-case characters plus the characters of which Code 39 is capable to encode. It is possible to use Extended Code 39 to encode all 128 ASCII characters.
This encoding is fulfilled by utilizing $, /, %, and + symbols as "shift" characters to encode Code 39 characters in pairs. Thus each extended character is represented by a pair of two barcode characters by a pair of Code 39 characters. For example:
- To encode lower-case letter "e", user should input "+E"
- To encode lower-case letter "j", user should input "+J"
Modulo 43 checksum digit
The checksum of Code 39 is not required, however for applications needs to enhance data security, the 43 checksum digits could be appended immediately follow the last data character. It is easy to compute checksum of Code 39 following steps:
- Assinged numeric value of each data character then sum them up.
- Divide the result by 43.
- The remainder of the division is the check digit.