What is the actual value of the HEX / binary value of the GS1 FNC1 symbol?

I searched many pages on wikipedia, the official GS1 specifications, but have not yet found a specific answer to the question

What is the actual value of the HEX / binary value of the GS1 FNC1 symbol?

There is a lot of information on how to use GS1 identifiers, how to print bar codes with ZPL and how to encode FNC1, but I want to know the actual HEX value of this character.

+10
specifications barcode
source share
2 answers

Special function characters, such as FNC1 to FNC4, do not have a direct ASCII representation. Each symbolism that supports such symbols has its own coding scheme in the internal representation, which is completely different from any given data of symbols oriented to bytes.

FNC characters serve both flag characters (indicating something special to the reader) and formatting characters (changing the meaning of the encoded data). As such, they are not intended to be transmitted directly to data received by the host system from a basic barcode reader.

The usual purpose of each of the FNC characters is as follows:

  • FNC1 - The structured data flag symbol indicating the formatting of GS1 and AIM AND the formatting symbol of the group separator, among other things.
  • FNC2 - Message Add a flag character to buffer data in character groups for a single read.
  • FNC3 - Reader Programming flag symbol for device configuration.
  • FNC4 is an extended ASCII format character for encoding characters with serial numbers 128-255.

Remember that not all of them may be available in certain barcode symbols and may even be indicated in various, non-standard or overloaded ways.

The encoding of the FNC symbol in the internal symbol data is performed through an β€œexit mechanism” specific to the encoding software. For example, to use FNC1 in its typical role of GS1 structured data for the data "(01) 00312345678906 (21) 123456789012 (30) 0144", you can see the FNC1 characters escaped as {FNC1} so that the input looks like {FNC1}010031234567890621123456789012{FNC1}300144 . But each library differently accepts these non-data characters, and some even automatically insert the necessary characters [*] .

When scanning a barcode, the internal character data is usually decoded and then transmitted to the host via the base channel (for example, the keyboard) as a sequence of bytes that must be interpreted in accordance with the Latin-1 character encoding. FNC characters cannot be represented in this way and excluded from the data stream, however their influence on the formatting of the data remains.

For example, the standards for most characters indicate that when the FNC1 character is used as a field separator in data conforming to the GS1 standard application identifier format, it must be decoded and transmitted as GS (ASCII 29). It is explicitly stated that the effect of formatting the FNC1 character used as the GS1 application identifier delimiter is to place the GS character at the end of a variable-length field. But in other roles (for example, when FNC1 is used in the "first / second position" as a flag symbol and with data not formatted in GS1), there is no effect of formatting the transferred data and, therefore, there is no ASCII representation during decoding.

Another example of special function characters that affect the formatting of data are symbologies that use FNC4 to extend the coverage range from 7-bit ASCII to extended ASCII, as described in this answer .

The subtle technical point is that the data transmitted to the host often has a short prefix for the symbol indicator, known as the "symbol identifier", which indicates the type and use of the symbol from which the data is read. This is often modified by the presence of invisible flag characters in the symbol data, for example, to indicate the presence of GS1 data with "FNC1 in first" or to indicate the reader programming mode when FNC3 appears anywhere in the symbol. Details are character specific.

[*]: Barcode Writer in Pure PostScript will automatically insert the appropriate FNC1 characters for any symbology whose data is provided exclusively in the standard GS1 application identifier format. It will also encode extended ASCII characters by automatically using FNC4 characters, where characters support this.

+20
source share

It is important to know (and configure the scanner correctly) that the FNC1 symbol in the first position is converted to a symbol identifier in accordance with ISO / IEC 15424. The symbol identifier m modifier indicates whether FNC1 was or not. If this is not done, the application will no longer see if the GS1 structure was created. Other structures identify, for example. Macro 06 in data matrix code (ISO / IEC 16022, ISO / IEC 15434). It is necessary to determine our difference in order to take the right measures for data processing.

+1
source share

All Articles