5.4. FNC1被当做为GS的时候,应该传输出来

对于FNC1,除了第一个的FNC1,之后出现的FNC1,即在Data数据中出现的FNC1,所起的作用就和第一个FNC1一样了,是用于分割可变长度的AI(Application Identifier,应用标识符)。

AI中,有固定长度的,所以有了开始的AI数字(2到4个),就可以知道后面有多少位数字,是对应的此AI的数据,但是对于可变长度的话,后面不知道有几位数据是此AI的数据,所以要加上一个FNC1来用于区分可变字符的数据和其后的其他的AI。

此时FNC1起的作用就是区分可变长度的AI和其他AI,用ASCII的GS(Group Separator,组分隔符)字符=0x1D=29来表示。

(其中,也有对此处的FNC1起的作用,叫做域分隔符(Field Separator)的。)

此处用GS来表示FNC1,也很好理解,因为如果把不同的AI看作是一个组的话,那么正好用GS组分隔符来区分不同的组。

所以,此处传输出来的数据的话,原先的条形码的字符集中的FNC1,就被解码器替换为GS字符=0x1D=29输出了,即二进制值是0x1D了。