FNC1,全稱是Function 1 Symbol Character,是GS1-128或者GS1 Datamatrix條形碼編碼中的第一個(gè)符號字符。
FNC1是Code 128字符集中的一個(gè)字符,是個(gè)特殊字符,在某些情況下,起到一定控制作用。
FNC1不是ASCII字符集中(可見或不可見)的字符。
需要多說明一點(diǎn)的是,ASCII中的,共0-0XFF,256個(gè)字符,其中0-0X1F共32個(gè)控制字符,叫做不可見字符,余下0x20-0xFF就是我們常見的大小寫字母,數(shù)字,常見符號等等,稱作可見字符。
而FNC1本身就不屬于ASCII中,所以也不是ASCII中的那種不可見的控制字符,對此,需要特別注意,不需要再搞混淆了。
第一個(gè)FNC1到底應(yīng)不應(yīng)該傳輸出來
GS1 128 Bar Code Symbol Structure
The GS1 128 Bar Code Symbol is made up as follows,reading from left to right;
其中,從GS1 128字符集的組成中,我們就可以看出,本身FNC1是屬于Double character Start Patten中的其中一個(gè),和后面的Data數(shù)據(jù),即我們真正的條形碼中的數(shù)據(jù),不是一起的,所以也不應(yīng)該傳輸出來,而知應(yīng)該傳出來對應(yīng)的后面的data。
而上述的FNC1,由于處在條形碼最開始的位置,所以也被稱為第一個(gè)FNC1,或者Start Position的FNC1。
具體實(shí)現(xiàn)也可以用某個(gè)ASCII字符來表示第一個(gè)FNC1
雖然作為第一個(gè)字符位置的FNC1不應(yīng)該傳輸出來,但是作為具體的解析條形碼的程序或者解碼庫來說,其也可以在旋轉(zhuǎn)輸出條形碼數(shù)據(jù)的時(shí)候,把第一個(gè)FNC1傳輸出來,即表示出來。
FNC1被當(dāng)做GS的時(shí)候,應(yīng)該傳輸出來
對于FNC1,除了第一個(gè)的FNC1,之后出現(xiàn)的FNC1,即在Data數(shù)據(jù)中出現(xiàn)的FNC1,所起的作用就和第一個(gè)FNC1一樣了,是用于分割長度的AI(APPlication Identifier,應(yīng)用標(biāo)識符),AI中,有固定長度的,所以有了開始的AI數(shù)字(2到4個(gè)),就可以知道后面有多少位數(shù)字,是對應(yīng)的此AI的數(shù)據(jù),但是對于長度可變的話,后面就不知道有幾位數(shù)據(jù)是此AI的數(shù)據(jù),所以要加上一個(gè)FNC1來用于區(qū)分可變字符的數(shù)據(jù)和其后的其他的AI。
此時(shí)FNC1起的作用就是區(qū)分可變長度的AI和其他AI,是用于ASCII的GS(Group Separator,組分隔符)字符=0*1D=29來表示。
(其中,也有對此處的FNC1起的作用,叫做域分隔符(Field Separator))
FNC1的總結(jié)
本身是Code 128等字符集中的一個(gè)特殊字符,本身就不屬于ASCII字符集,也就不是ASCII中的某個(gè)字符。
FNC1放在GS1-128字符集中的作用呢,主要就是兩個(gè):
1.放在最開始:即放在Start字符后,處于符號集中的第二個(gè)位置,在數(shù)據(jù)之前。此處的作用是,標(biāo)識此符號集是GS1-128字符集(之前被稱為UCC/EAN-128)。
2.放在后面某個(gè)位置:即數(shù)據(jù)中間有FNC1的話,解碼器就知道此FNC1是用于區(qū)分可變長度的AI和其他AI,然后就會將其替換為GS字符,然后同條形碼的數(shù)據(jù)一起輸出。
軟件不同,編碼方式不同,叫法也不一樣,有關(guān)FNC1的操作可以參考:兩種不同GS1 Datamatrix二維碼制作方法。
以上就是有關(guān)FNC1的介紹,軟件不同,編碼方式不同,稱呼可能不一樣。有關(guān)應(yīng)用標(biāo)識符的添加可以參考:如何制作含GS1應(yīng)用標(biāo)識符的Data matrix二維碼。
標(biāo)簽:FNC1 , GS1 Datamatrix , 二維碼軟件
共有條評論 網(wǎng)友評論