1 條形碼簡介 條形碼(BarCode)是指將寬度不等的黑條(簡稱條B)與空白(簡稱空S),按照一定的編碼規(guī)則排列成一組平行線圖案,用以表達(dá)一組信息的圖形標(biāo)識符。條形碼可標(biāo)出物品的生產(chǎn)國、制造商、名稱、日期、圖書分類號、郵件起止地點(diǎn)、類別、價格等許多信息,因而在商品流通、圖書管理、郵政管理、銀行系統(tǒng)等諸多領(lǐng)域得到了廣泛的應(yīng)用。 1.1 標(biāo)準(zhǔn)條形碼組成成分 標(biāo)準(zhǔn)的條形碼格式 如上圖所示為標(biāo)準(zhǔn)的條形碼格式,其組成成為主要有: 左右空白區(qū):保證設(shè)備正確獲取完整的條碼信息; 起始符:位于條碼首位,具有特殊結(jié)構(gòu),當(dāng)設(shè)備讀取該字符時,表明開始獲取條碼信息; 數(shù)據(jù)符:條形碼核心內(nèi)容,可由數(shù)字、字母、特殊字符等組成; 校驗(yàn)符:校驗(yàn)讀取信息是否正確,位于數(shù)據(jù)符之后,不同編碼規(guī)則校驗(yàn)符計(jì)算方法不同; 終止符:位于條碼末位,具有特殊結(jié)構(gòu),當(dāng)設(shè)備讀取該字符時,表明獲取條碼信息完成; 黑條B與白空S:通過寬窄不同的條空組合表示不同的字符; 條空常見尺寸(寬度)類型: 二進(jìn)制:2種尺寸,粗為1、細(xì)為0;如ITF-14、CodaBar、Code39等; 多級制:4種尺寸,從細(xì)到粗分別為1、2、3、4;如EAN-8/13、UPC-A/E、Code-128、EAN-128、HIBC等。 字符類型:數(shù)字、字母、符號、特殊字符等; 1.2 常見條碼規(guī)則的差異對比 目前,全世界共有約100種條碼規(guī)則,不同條碼規(guī)則之間的區(qū)別在于起止符、條空尺寸、編碼方式、校驗(yàn)位計(jì)算方法等的不同。因此,無論是人工區(qū)分不同的條碼規(guī)則,還是機(jī)器識別不同的條碼規(guī)則,都可以依據(jù)條碼規(guī)則之間的差異性來進(jìn)行。如下表1.1中列出了常用編碼規(guī)則之間的特征對比。 表1.1 常用編碼規(guī)則及其特征描述
1.2.1 條碼編碼區(qū)分: 不同編碼規(guī)則下的條碼可根據(jù)以下總結(jié)的幾點(diǎn)內(nèi)容進(jìn)行區(qū)分: ① 起止符、支持字符類型 條形圖案、純數(shù)字:EAN-8、EAN-13、UPC-A、UPC-E、ITF-14 字符符號、數(shù)字/字母/符號:CodaBar、CODE-39、CODE-128、GS1-128、HIBC ② 起止符類別 CODE-39:起止均為“*” CODE-128:起為“Start A/B/C”,止為“Stop” GS1-128:起為“Start A/B/C+FNC1”,止為“Stop” CodaBar:起止均為“A/B/C/D或a/b/c/d” HIBC:開始字符均為“+” ③ 字符串寬度 8位: EAN-8、UPC-E 12位:UPC-A 13位:EAN-13 14位:ITF-14 任意位:CodaBar、CODE-39、CODE-128、GS1-128、HIBC 1.2.2 條碼規(guī)則識別: ① EAN-8/13、UPC-A/E 第一步,根據(jù)是否有間隔符判斷為EAN-8/13或UPC-A/E條碼?(思路:圖像識別) 如上圖所示UPC碼與EAN碼,這兩種規(guī)則下的條碼與其它規(guī)則條碼有一個很明顯的區(qū)別,在于UPC或EAN條碼中都有一個凸出來的分隔符,且首、中、尾位置的線條均有凸出來的部分,因此,可否通過圖像識別方式判別條碼為UPC碼或EAN碼? · 若識別成功,條碼首、中、尾部均有凸出的部分,則判定為EAN或UPC條碼,否則,為其它類型條碼;然后進(jìn)入下一步; 第二步,在成功判定為EAN或UPC條碼的前提下,進(jìn)一步根據(jù)設(shè)備掃描到的數(shù)據(jù)對具體碼制進(jìn)行判別? · 如果字符串第一個字符為“0”,則判定為UPC碼,否則進(jìn)入下一階段; · 截取字符串前2位或3位(2位代碼與3位代碼的“前兩位”無重復(fù)),與國家代碼進(jìn)行循環(huán)比對,比對成功則確定為EAN條碼,并可據(jù)此確定該條碼所代表物品的具體類型(如商品、圖書、匯款、券等);國家統(tǒng)一代碼如下圖所示。最新國家或地區(qū)前綴碼見附件一。 · 若此步判定失敗,則報(bào)錯,另行處理。 表1.2 國家/地區(qū)代碼 ② ITF-14 ③ CodaBar 如圖所示為CodaBar規(guī)則下的條碼,該規(guī)則條碼有一個獨(dú)特的標(biāo)記,即起始符、終止符均為大寫字母A/B/C/D或小寫字母a/b/c/d,并可相互組合出現(xiàn)。 因此,當(dāng)設(shè)備獲取條碼數(shù)據(jù)時,可根據(jù)條碼的首尾字符對條碼規(guī)則進(jìn)行識別? · 如果首尾字符均為英文字母A/B/C/D或a/b/c/d,則判定該條碼為CodaBar規(guī)則條碼;否則,判定為其它類型條碼。 ④ Code-39
如圖為Code39規(guī)則下的條碼,根據(jù)Code39的編碼規(guī)則可知,在Code39編碼規(guī)則下,條碼中的每個字符由9個條空組合而成(5個黑條+4個白空),且每個字符間有固定寬度的的間隔符(即固定寬度的白條)。 基于此,如此獨(dú)特的排列規(guī)律是否可作為圖像識別的突破口? ⑤ Code-128、GS1-128 Code128與GS1-128具有相同的編碼規(guī)則,二者唯一的區(qū)別在于GS1-128條碼中增加了一個附加的應(yīng)用標(biāo)識符[FNC1],在數(shù)據(jù)中的體現(xiàn)如上右圖中的“(01)”。 由于設(shè)備掃描得到的數(shù)據(jù)中沒有機(jī)器可識別的明顯特征,但Code128、GS1-128條碼中擁有獨(dú)特的起止符(Start A/B/C、Stop)與應(yīng)用標(biāo)識符([FNC1]),因此,目前可考慮從掃描設(shè)備角度出發(fā),識別條碼中起止符與應(yīng)用標(biāo)識符,具體思路如下: 當(dāng)設(shè)備掃描條碼時: · 識別條碼起、止位置的字符,如果起始位置為Start A/B/C、結(jié)尾位置為Stop,則判定該條碼規(guī)則為Code-128或GS1-128,否則,視為為其它類型條碼;然后,進(jìn)入下一步; · 進(jìn)一步的判別,是否具有標(biāo)識符[FNC1]? 若存在標(biāo)識符[FNC1],則判定為GS1-128條碼,否則進(jìn)入下一步; 若沒有標(biāo)識符[FNC1],則判定為Code-128條碼。 下文中將逐個介紹常見編碼規(guī)則的主要內(nèi)容及條碼解析流程。 2 EAN-8/13條碼規(guī)則 2.1 簡介 EAN碼是國際物品編碼協(xié)會制定的一種國際通用商品代碼,又稱“通用商品條碼”,是以直接面向消費(fèi)者的商品為對象,以單個商品為單位使用的條碼。 EAN碼為純數(shù)值型條碼,有標(biāo)準(zhǔn)版、縮短版2種:標(biāo)準(zhǔn)版表示13位數(shù)字,又稱EAN-13碼;縮短版表示8位數(shù)字,又稱EAN-8碼。 2.2 特點(diǎn) ① 只能儲存數(shù)字; ② 可雙向掃描處理,即條碼可由左至右或由右至左掃描; ③ 必須有1位校驗(yàn)碼,以確保讀取信息的正確性,位于條碼最右側(cè); ④ 有左護(hù)線、中部分割符及右護(hù)線,便于區(qū)分、提取條碼信息; ⑤ 條碼長度固定(8或13); EAN-8:8位數(shù)字組成,EAN簡易編碼形式; EAN-13:13位數(shù)字組成,EAN標(biāo)準(zhǔn)編碼形式。 2.3 基本構(gòu)成 2.3.1 EAN-8條碼
EAN-8條碼標(biāo)準(zhǔn)格式 如上圖所示為EAN-8條碼的標(biāo)準(zhǔn)格式,條碼數(shù)據(jù)共8位,其中, ① 條帶尺寸:1種,且黑條為1,白空為0; ② 字符組成:每個字符由7個模塊組成; ③ 左右空白區(qū):寬11個模塊,為保證正確的讀取條碼信息; ④ 左右護(hù)線:即起始、終止符,寬3個模塊; ⑤ 左側(cè)數(shù)據(jù)符:由4位數(shù)字組成,寬28個模塊; ⑥ 中間分隔符:隔開左右數(shù)據(jù)符的特殊符號,由5個模塊組成; ⑦ 右側(cè)數(shù)據(jù)符:由3位數(shù)字組成,寬21個模塊; ⑧ 校驗(yàn)位:1位數(shù)字表示,寬7個模塊,由前7位數(shù)字計(jì)算而得,驗(yàn)證條碼的正確性; ⑨ 條碼結(jié)構(gòu): “起始符 + 左數(shù)據(jù)位 + 右數(shù)據(jù)位 + 校驗(yàn)位 + 終止符” 2.3.2 EAN-13條碼
EAN-13條碼標(biāo)準(zhǔn)格式 如上圖所示為EAN-13條碼的標(biāo)準(zhǔn)格式,條碼數(shù)據(jù)共13位,其中, ① 左側(cè)數(shù)據(jù)符:由6位數(shù)字組成,寬42個模塊; ② 右側(cè)數(shù)據(jù)符:由5位數(shù)字組成,寬35個模塊; 其它位置組成結(jié)構(gòu)與EAN-8相同。 2.4 編碼表
表2.1 EAN編碼表
2.4.1 EAN-8編碼表 ① 起止符均為101; ② 中間分隔符為01010; ③ 左側(cè)數(shù)據(jù)符用A子集,右側(cè)數(shù)據(jù)符、校驗(yàn)位用C子集; 2.4.2 EAN-13編碼表 ① 起止符均為101; ② 中間分隔符為01010; ③ 右側(cè)數(shù)據(jù)符、校驗(yàn)位用C子集; ④ 左側(cè)數(shù)據(jù)符如下: 表2.2 EAN-13左側(cè)數(shù)據(jù)符編碼規(guī)則 備注:在EAN-13條碼中,數(shù)據(jù)共13位,其中,前置碼1位(13),左側(cè)數(shù)據(jù)6位(12-7),右側(cè)數(shù)據(jù)5位(6-2),校驗(yàn)位1位(1),根據(jù)上表,針對不同的前置碼,以及左側(cè)數(shù)據(jù)符的不同位置,選擇不同的子集進(jìn)行對應(yīng)編碼。 2.5 編碼舉例說明 2.5.1 EAN-8示例說明 以6922 346 4為例,在EAN-8編碼規(guī)則中: 起始符:101; 左側(cè)數(shù)據(jù)符:6 922對應(yīng)為0101111 0001011 0010011 0010011;左側(cè)數(shù)據(jù)查A子集; 中間分隔符:01010; 右側(cè)數(shù)據(jù)符:346對應(yīng)為1000010 1011100 1010000;右側(cè)數(shù)據(jù)查C子集; 校驗(yàn)位:4對應(yīng)為1011100;校驗(yàn)位查C子集; 終止符:101。 因此,將以上編碼按照結(jié)構(gòu)順序組合起來即為6922 346 4的編碼。 備注:打印時,將0用白帶標(biāo)出,1用黑帶標(biāo)出。 2.5.2 EAN-13示例說明 以6 902534 25463 5為例,在EAN-13編碼規(guī)則中: 起始符:101; 左側(cè)數(shù)據(jù)符:6 902534,前置碼為6,查表可知902534對應(yīng)的編碼子集分別為ABBBAA,即對應(yīng)位置查找對應(yīng)子集的編碼,因此,902534對應(yīng)編碼為0001011 0100111 0011011 0111001 1000010 1011100; 中間分隔符:01010; 右側(cè)數(shù)據(jù)符:25463對應(yīng)為1101100 1001110 1011100 1010000 1000010; 右側(cè)數(shù)據(jù)查C子集; 校驗(yàn)位:5對應(yīng)為1001110;校驗(yàn)位查C子集; 終止符:101。 因此,將以上編碼按照結(jié)構(gòu)順序組合起來即為6 902534 25463 5的編碼。 備注:打印時,將0用白帶標(biāo)出,1用黑帶標(biāo)出。 2.6 條碼信息提取流程 2.6.1 EAN-8碼與EAN-13碼區(qū)分 一般而言,EAN碼由前綴碼、廠商識別代碼、商品項(xiàng)目代碼及校驗(yàn)碼組成。 EAN-8碼與EAN-13碼之間最明顯的區(qū)別就是條碼數(shù)據(jù)的寬度不同,EAN-8碼的寬度固定為8,EAN-13碼的寬度固定為13,因此,在進(jìn)行掃碼提取數(shù)據(jù)時,可直接根據(jù)數(shù)據(jù)寬度判別具體為哪一種規(guī)則: 當(dāng)讀取條碼數(shù)據(jù)時, · 若數(shù)據(jù)寬度為8,則判定為EAN-8碼,否則進(jìn)入下一步; · 若數(shù)據(jù)寬度為13,則判定為EAN-13碼; 判定完成,然后按照對應(yīng)的編碼規(guī)則進(jìn)行信息提取。 2.6.2 EAN-8條碼信息提取 如上圖所示為EAN-8條碼,讀取數(shù)據(jù)為69326745,條碼寬度為定長8; EAN-8條碼的組成為,其中: “前綴碼 + 商品項(xiàng)目代碼 + 校驗(yàn)碼” 前綴碼:國際EAN組織分配給各國或地區(qū)的組織代碼,定長,共3位; 商品項(xiàng)目代碼:商品代碼,由中國編碼中心分配,或廠商自行編碼,定長,共4位; 備注:一個商品項(xiàng)目只能有一個商品項(xiàng)目代碼,唯一性; 校驗(yàn)位:檢驗(yàn)編碼是否正確,定長,共1位; 信息提取流程: 由于EAN-8碼的各部分均為定長,因此,可直接按照指定寬度進(jìn)行信息的提取。 首先,設(shè)備讀取數(shù)據(jù)后,截取數(shù)據(jù)的前3位,第1-3位,該數(shù)據(jù)段為即為國家代碼; 其次,截取數(shù)據(jù)段的中間4位,第4-7位,該數(shù)據(jù)段即為商品的項(xiàng)目代碼; 最后,校驗(yàn)位,主要用于檢驗(yàn)數(shù)據(jù)編碼是否正確,可不考慮。 2.6.3 EAN-13條碼信息提取
如上圖所示為EAN-13條碼,讀取數(shù)據(jù)為6952456726512,條碼寬度為定長13; EAN-13條碼的組成為,其中: “廠商識別代碼 + 商品項(xiàng)目代碼 + 校驗(yàn)碼” 廠商識別代碼:不定長,7-10位,由國家代碼與廠商代碼組成,其中, 國家代碼由國際EAN組織統(tǒng)一分配給各國或地區(qū)的組織代碼,定長,共3位; 廠商代碼由中國物品編碼中心統(tǒng)一分配給生產(chǎn)廠商,不定長,4-7位; 商品項(xiàng)目代碼:商品代碼,由中國編碼中心分配,或廠商自行編碼,不定長,共2-5位; 備注:一個商品項(xiàng)目只能有一個商品項(xiàng)目代碼,唯一性; 校驗(yàn)位:檢驗(yàn)編碼是否正確,定長,共1位; 信息提取流程: 由于EAN-13碼中的廠商代碼與項(xiàng)目代碼不定長,因此,需要多次循環(huán)處理,判斷哪種截取方式是正確的。 當(dāng)設(shè)備讀取數(shù)據(jù)結(jié)束之后,并確定了數(shù)據(jù)寬度為13時: 第一步,截取數(shù)據(jù)的前7位,并將這7位數(shù)據(jù)與廠商識別代碼數(shù)據(jù)庫進(jìn)行比對, 若比對成功,則表明這7位數(shù)據(jù)為正確的廠商識別代碼, 其中,前3位為國家代碼,后4位為廠商代碼; 那么余下的6位數(shù)據(jù)即為商品項(xiàng)目代碼及校驗(yàn)碼,截取該數(shù)據(jù)段的前5位,即為商品項(xiàng)目代碼; 若比對不成功,則進(jìn)入下一步; 第二步,截取數(shù)據(jù)段的前8位,并將這8位數(shù)據(jù)與廠商識別代碼數(shù)據(jù)庫進(jìn)行比對, 若比對成功,則表明這8位數(shù)據(jù)為正確的廠商識別代碼, 其中,前3位為國家代碼,后4位為廠商代碼; 那么余下的5位數(shù)據(jù)即為商品項(xiàng)目代碼及校驗(yàn)碼,截取該數(shù)據(jù)段的前4位,即為商品項(xiàng)目代碼; 若比對不成功,則進(jìn)入下一步; 第三步,繼續(xù)截取數(shù)據(jù)段的前9位或10位,直到截取數(shù)據(jù)與廠商識別代碼比對成功,然后按照對應(yīng)的位置,提取相應(yīng)的信息,具體操作同以上兩個步驟。 3 UPC-A/E條碼規(guī)則 3.1 簡介 UPC碼(Universal Product Code),又稱統(tǒng)一產(chǎn)品碼,是最早大規(guī)模應(yīng)用的條碼,由美國統(tǒng)一代碼委員會(UCC)制定,主要用于美國和加拿大地區(qū),歐洲EAN和日本JAN均是以UPC為基礎(chǔ)進(jìn)制定。 UPC特性是長度固定、且具有連續(xù)性,應(yīng)用范圍比較廣泛,故又被稱為萬用條碼。UPC碼僅可用于表示數(shù)字型條碼,即支持字符為0~9。 UPC碼共有A、B、C、D、E五個版本,其對應(yīng)的適用對象分別為通用商品、醫(yī)藥衛(wèi)生行業(yè)、產(chǎn)業(yè)部門、倉庫批發(fā)、商品短碼。 以下將以兩種常用的編碼規(guī)則UPC-A/E為主,進(jìn)行詳細(xì)介紹。 3.2 特點(diǎn) ① 條碼長度固定,常用的有8位或12位兩種; ② 支持雙向掃描; ③ 支持的字符類型僅為數(shù)字,即0~9; ④ 首尾起止符、中間分隔符用于隔開數(shù)據(jù),且其高度比其它數(shù)據(jù)位字符更高; ⑤ 條空尺寸,1種,黑條B為1,白空S為0; ⑥ 一個字符由7個條和空組成,且條空寬窄相同; ⑦ 有校驗(yàn)位,校驗(yàn)位計(jì)算方法: · 奇數(shù)位之和*3 + 偶數(shù)位之和; · 取上一步驟之和的個位數(shù); · 10 -上一步驟的個位數(shù),得數(shù)即為校驗(yàn)位數(shù)值。 3.3 基本構(gòu)成 3.3.1 UPC-A條碼
UPC-A條碼標(biāo)準(zhǔn)格式 如上圖所示為UPC-A條碼的標(biāo)準(zhǔn)格式,條碼數(shù)據(jù)共12位,其中, ① 條帶尺寸:1種,且黑條B為1,白空S為0; ② 字符組成:每個字符由7個模塊組成; ③ 左右空白區(qū):寬9個模塊,為保證正確的讀取條碼信息; ④ 起止符:寬3個模塊; ⑤ 左側(cè)數(shù)據(jù)符:由6位數(shù)字組成,寬42個模塊; ⑥ 中間分隔符:隔開左右數(shù)據(jù)符的特殊符號,由5個模塊組成; ⑦ 右側(cè)數(shù)據(jù)符:由5位數(shù)字組成,寬35個模塊; ⑧ 校驗(yàn)位:1位數(shù)字表示,由前11位數(shù)字計(jì)算而得,驗(yàn)證條碼的正確性; ⑨ 條碼結(jié)構(gòu): “起始符 + 左數(shù)據(jù)位 + 右數(shù)據(jù)位 + 校驗(yàn)位 + 終止符” 備注:供人識別符中,第一位數(shù)字為系統(tǒng)字符,最后一位數(shù)字為校驗(yàn)符。 3.3.2 UPC-E條碼
UPC-E條碼標(biāo)準(zhǔn)格式 如上圖所示為UPC-E條碼的標(biāo)準(zhǔn)格式,條碼數(shù)據(jù)共8位,UPC-E專用于國別碼為0的商品條碼,其中, ① 條帶尺寸:1種,且黑條B為1,白空S為0; ② 字符組成:每個字符由7個模塊組成; ③ 空白區(qū):左空白區(qū)寬9個模塊,右空白區(qū)至少寬7個模塊; ④ 起止符:起始符寬3個模塊,終止符寬6個模塊; ⑤ 數(shù)據(jù)符:由6位數(shù)字組成,寬42個模塊; ⑥ 校驗(yàn)位:1位數(shù)字表示,UPC-A碼原型的檢查碼,為導(dǎo)入值; ⑦ 條碼結(jié)構(gòu): “起始符 + 數(shù)據(jù)位 + 校驗(yàn)位 + 終止符” 備注:供人識別符中,第一位數(shù)字為系統(tǒng)固定字符,最后一位數(shù)字為校驗(yàn)符。 3.4 編碼表 3.4.1 UPC-A編碼表 表3.1 UPC-A編碼表 ① 起止符均為101; ② 中間分隔符為01010; ③ 左側(cè)數(shù)據(jù)符用A子集,右側(cè)數(shù)據(jù)符、校驗(yàn)位用C子集; 3.4.2 UPC-E編碼表 ① 起始符為101,終止符為010101; ② 數(shù)據(jù)符用A或B子集,具體如下; 表3.2 UPC-E數(shù)據(jù)符編碼規(guī)則 備注:在UPC-E條碼中,數(shù)據(jù)共8位,其中,前置碼1位(固定為0),數(shù)據(jù)符6位(6-1),校驗(yàn)位1位(c),根據(jù)上表,針對不同的校驗(yàn)符,以及數(shù)據(jù)符的不同位置,選擇不同的子集進(jìn)行對應(yīng)編碼。 3.5 編碼舉例說明 3.5.1 UPC-A示例說明(編碼查表3.1) 以6 90876 54321 5為例,在UPC-A編碼規(guī)則中: 起始符:101; 左側(cè)數(shù)據(jù)符:6 90876對應(yīng)為0101111 0001011 0001101 0110111 0111011 0101111; 左側(cè)數(shù)據(jù)查A子集; 中間分隔符:01010; 右側(cè)數(shù)據(jù)符:54321對應(yīng)為1001110 1011100 1000010 1101100 1100110; 右側(cè)數(shù)據(jù)查C子集; 校驗(yàn)位:5對應(yīng)為1001110;校驗(yàn)位查C子集; 終止符:101。 因此,將以上編碼按照結(jié)構(gòu)順序組合起來即為6 90876 54321 5的編碼。 備注:打印時,將0用白帶標(biāo)出,1用黑帶標(biāo)出。 3.5.2 UPC-E示例說明(編碼查表3.1和表3.2) 以0 123456 5為例,在UPC-E編碼規(guī)則中: 系統(tǒng)固定碼:0不計(jì)入編碼中; 起始符:101; 數(shù)據(jù)位:校驗(yàn)位為5,查表3.2可知123456對應(yīng)的編碼子集分別為BAABBA,即對應(yīng)位置查找對應(yīng)子集的編碼,根據(jù)表3.1可知,123456對應(yīng)編碼為0110011 0010011 0111101 0011101 0111001 0101111; 校驗(yàn)位:5不計(jì)入編碼中; 終止符:010101。 因此,將以上編碼按照結(jié)構(gòu)順序組合起來即為0 123456 5的編碼。 備注:打印時,將0用白帶標(biāo)出,1用黑帶標(biāo)出。 4 ITF-14條碼規(guī)則 4.1 簡介 CodaBar是由Monarch Marking Systems在1972年研制的條碼。它是在“2 of 5”后早期階段引入的條碼。廣泛應(yīng)用于需要序列號的領(lǐng)域,如血庫、門到門交貨服務(wù)訂單及會員卡片管理。 4.2 特點(diǎn) ① 能夠?qū)θ我忾L度的數(shù)據(jù)進(jìn)行編碼; ② 可雙向掃描; ③ 支持?jǐn)?shù)字、大寫字母、部分符號等共20個字符; ④ 首尾起止符均為A、B、C、D四個字母,且無校驗(yàn)碼; ⑤ 二進(jìn)制條空尺寸,粗為1,細(xì)為0; ⑥ 一個字符由7個條和空組成,且條空相間; ⑦ 每個字符間具有固定寬度的白帶,稱為“間隔符”。 4.3 基本構(gòu)成
CODABAR條碼標(biāo)準(zhǔn)組成 ① 起止符:起始、終止符均為“A、B、C、D”,自由組合,CODEBAR獨(dú)特標(biāo)識符,供人識別符中顯示; ② 字符組成:黑帶為條B,白帶為空S,一個字符由“4個條 + 3個空”組成; ③ 條空尺寸:2種,粗為1,細(xì)為0(二進(jìn)制編碼); ④ 條碼結(jié)構(gòu): “起始符 + 數(shù)據(jù)位 + 終止符” 備注:無校驗(yàn)符。 ⑤ 字符間隔:字符間固定寬度的“白帶”; 4.4 編碼表 表4.1 CodeBar編碼表 附表 二進(jìn)制編碼表
4.5 編碼舉例說明 以A20180605B為例,在CodeBar編碼規(guī)則中, 開始位:A對應(yīng)的二進(jìn)制編碼為0011010; 數(shù)據(jù)位:第1位數(shù)據(jù)2對應(yīng)的二進(jìn)制編碼為0001001;第2位數(shù)據(jù)0對應(yīng)的二進(jìn)制編碼為0000011;第3位數(shù)據(jù)1對應(yīng)的二進(jìn)制編碼為0000110;第4位數(shù)據(jù)8對應(yīng)的二進(jìn)制編碼為0110000;第5-8位依此類推; 結(jié)束位:B對應(yīng)的二進(jìn)制編碼為106。 因此,對照編碼表,A20180605B編碼為: 開始位A(0011010)+ 數(shù)據(jù)位[2(0001001)+0(0000011)+1(0000110)+8(0110000)+0(0000011)+6(0100001)+0(0000011)+5(1000010)]+ 結(jié)束位B(0101001) 備注:打印時,將0用細(xì)條標(biāo)出,1用寬條標(biāo)出,如此一個條形碼生成就完成了 每個字符間有一個間隔符(即白窄條) 5 CodaBar條碼規(guī)則 5.1 簡介 CodaBar是由Monarch Marking Systems在1972年研制的條碼。它是在“2 of 5”后早期階段引入的條碼。廣泛應(yīng)用于需要序列號的領(lǐng)域,如血庫、門到門交貨服務(wù)訂單及會員卡片管理。 5.2 特點(diǎn) ① 能夠?qū)θ我忾L度的數(shù)據(jù)進(jìn)行編碼; ② 可雙向掃描; ③ 支持?jǐn)?shù)字、大寫字母、部分符號等共20個字符; ④ 首尾起止符均為A、B、C、D四個字母,且無校驗(yàn)碼; ⑤ 二進(jìn)制條空尺寸,粗為1,細(xì)為0; ⑥ 一個字符由7個條和空組成,且條空相間; ⑦ 每個字符間具有固定寬度的白帶,稱為“間隔符”。 5.3 基本構(gòu)成 字符間隔
CODABAR條碼標(biāo)準(zhǔn)組成 ① 起止符:起始、終止符均為“A、B、C、D”,自由組合,CODEBAR獨(dú)特標(biāo)識符,供人識別符中顯示; ② 字符組成:黑帶為條B,白帶為空S,一個字符由“4個條 + 3個空”組成; ③ 條空尺寸:2種,粗為1,細(xì)為0(二進(jìn)制編碼); ④ 條碼結(jié)構(gòu): “起始符 + 數(shù)據(jù)位 + 終止符” 備注:無校驗(yàn)符。 ⑤ 字符間隔:字符間固定寬度的“白帶”; 5.4 編碼表 表5.1 CodeBar編碼表 附表 二進(jìn)制編碼表
5.5 編碼舉例說明 以A20180605B為例,在CodeBar編碼規(guī)則中, 開始位:A對應(yīng)的二進(jìn)制編碼為0011010; 數(shù)據(jù)位:第1位數(shù)據(jù)2對應(yīng)的二進(jìn)制編碼為0001001;第2位數(shù)據(jù)0對應(yīng)的二進(jìn)制編碼為0000011;第3位數(shù)據(jù)1對應(yīng)的二進(jìn)制編碼為0000110;第4位數(shù)據(jù)8對應(yīng)的二進(jìn)制編碼為0110000;第5-8位依此類推; 結(jié)束位:B對應(yīng)的二進(jìn)制編碼為106。 因此,對照編碼表,A20180605B編碼為: 開始位A(0011010)+ 數(shù)據(jù)位[2(0001001)+0(0000011)+1(0000110)+8(0110000)+0(0000011)+6(0100001)+0(0000011)+5(1000010)]+ 結(jié)束位B(0101001) 備注:打印時,將0用細(xì)條標(biāo)出,1用寬條標(biāo)出,如此一個條形碼生成就完成了 每個字符間有一個間隔符(即白窄條) |
|