虽然作为第一个字符位置的FNC1不应该传输出来,但是作为具体的解析条形码的程序或解码库来说,其也可以选择在输出条形码数据的时候,把第一个FNC1传输出来,即表示出来。
但是对于第一个FNC1的标示的话,有个问题,因为上面解释了,FNC1不是ASCII字符集中的字符,所以也没法打印出来,所以,对此,不同的条形码软件或解码库的具体实现,又都不太一样,都是自己定义一个ASCII中的某个字符,一般是大于128=0x80的某个ASCII字符来表示此FNC1。
由于FNC1不是ASCII的字符集中的字符,而且根据这里的说明:
http://www.gs1.org/docs/barcodes/GS1_DataMatrix_Introduction_and_technical_overview.pdf
“FNC1 is a special, non-printable, character. It is often inserted using a double-byte “Latch to extended ASCII” but this is system dependent”目前已经找到的一些具体做法是:
- Metrologic
FNC1 = 129 = 0x81
- http://www.experts123.com/q/how-do-i-set-the-fnc1-character-that-is-required-for-some-application-identifiers-in-ean-ucc-128.html
FNC1 = ASCII 242 = 0xF2
- http://www.gs1.org/docs/barcodes/GS1_DataMatrix_Introduction_and_technical_overview.pdf
FNC1 = ASCII 232 = 0xE8
- http://www.ciax.com/manuals/ref/ue128.htm
FNC1 =%N(N是一个数字,比如1)
- http://www.neodynamic.com/barcodes/UCC_EAN_128_Barcode.aspx
FNC1 = ASCII 200 = 0xC8