如何看懂Code128條形碼18
發(fā)表時(shí)間:2022-04-09 12:37 CODE128碼是廣泛應(yīng)用在企業(yè)內(nèi)部管理、生產(chǎn)流程、物流控制系統(tǒng)方面的條碼碼制。 Code128碼其實(shí)分成三類,即128A、128B、128C。它們的區(qū)別就是對(duì)應(yīng)的字符表不一樣。 那么Code128碼到底怎么讀呢?請(qǐng)看下面的圖: 從左往右是黑白相間的條形碼,黑的叫“條”(B),白的叫“空”(S)。 如果你仔細(xì)看,條和空都有4種不同的寬度。我們將它從細(xì)到粗賦予1、2、3、4這幾個(gè)值。 然后我們開始按照粗細(xì)的值來閱讀條碼、結(jié)果如下: 211232231131221213131222212222221224121213121211321132331112 注意這個(gè)結(jié)果是黑白相間的。別只顧著讀“條”忘了讀空。這邊總共有61位。 Code128碼有一個(gè)頭一個(gè)尾。 尾總是2331112,這代表Code128已經(jīng)結(jié)束。其余的部分是6位為一個(gè)塊,包括頭。 頭有3種:A)211412 B)211214 C)211232 。這分別表示此Code128是什么類型的。(ABC其中一種) 我們將我們讀出來的碼,去掉頭和尾,重新分一次塊: 231131 | 221213 | 131222 | 212222 | 221224 | 121213 | 121211 | 32113 正好是6位為一塊。其中最后一個(gè)塊(除去尾段)是校驗(yàn)位,用于檢查該條形碼是否被正確編碼。 然后,我們有一個(gè)字符表。(應(yīng)該說是我有這張表)這張字符對(duì)應(yīng)各個(gè)編號(hào)是表示的什么。 我們這個(gè)是Code128C型。C型碼是純數(shù)字的,每個(gè)塊對(duì)應(yīng)2位數(shù)字。 查表可得 50 09 05 00 01 91 91 。 有了這些知識(shí),我們就可以嘗試去寫一個(gè)程序去生成條形碼和識(shí)別條形碼。 其實(shí)生成是比較簡(jiǎn)單的,而識(shí)別就比較麻煩了。通常超市是使用條碼槍,通過光學(xué)原理來識(shí)別的,因?yàn)楹诎讞l紋的反光特性不一樣。 要是用軟件對(duì)圖像進(jìn)行識(shí)別,會(huì)有些麻煩。但是,這正是我們要做的。 附:Code128 字符表: 可以看出從0-63這前64個(gè)字符中A類和B類是一樣的。 其中有些控制字符,比如CodeA表示此字段下一個(gè)個(gè)塊臨時(shí)使用Code128A的字符表中的字符。 還有一些其他的,不是很常見,有興趣的朋友可以參考GBT 15425-2002 EAN UCC系統(tǒng) 128條碼 標(biāo)準(zhǔn)。 |