Code128條形碼如何計算其寬度?如何得出其校驗位?

發布時間: 2015-06-03 09:21 字號:

Code128條形碼是一個非常高密的字母數字條碼,能夠存儲需要的編碼數據,它可以編碼所有128個ASCII碼字符,它使用最少的空間。

在Code128符號體系中,每個數據字符編碼都是由11個黑或白模塊組成,這11個模塊由三個條和三個空來形成,條和空可以由1-4個模塊的寬度來組成。停止字符由13個模塊組成。

Code128碼符號包括一個靜止區(10倍X-尺寸 )、一個開始字符、編碼數據、一個檢測字符、停止字符和一個尾部的靜止區(10倍X-尺寸),為了獲得最佳的掃描效果(使用接觸式掃描器),靜止區至少要在6.35mm以上。

為了保證條形碼的可讀性(絕大都數條碼掃描器都可以識度),最小的X-尺寸為7.5mil,最小的條形碼高度是條形碼寬度的15%或者6.35mm以上。

Code128條形碼組成結構

有106個不同的3條/3空組合,106個組合中的任何一個都可以被分配為三個不同字符集含義之一,Code128的字符設置參見下面附錄。通過三個不同的開始字符來進行標識,START CodeA允許所有的鍵盤字符+控制字符和特殊字符進行編碼,START CodeB包括所有標準字母數字鍵盤字符+小寫字母和特殊字符,START CodeC包括一個100位數字(00~99),可用于編碼數字數據的密度壓縮。

在Code128條形碼內,可以通過特殊的字符代碼和SHIFT進行代碼集之間的轉移,轉移到指定的字符集。

FNC代碼定義為條碼掃描器的指示。FNC1是保留供將來使用。FNC2告訴讀取器去存儲讀取的數據和傳輸它。FNC3是保留讀碼器初始化和其他讀碼器功能。FNC4是保留為未來的應用。

每個字符都有一個值,范圍從0到105,這個值被用來計算Code128條形碼的校驗字符。

校驗字符通過MOD103算法,下面舉例說明:

例子:BarCode 1 

信息:StartB B a r C o d e 1

值:104 34 65 82 35 79 68 69 0 17

位置:- 1 2 3 4 5 6 7 8 9

計算:104+(34*1)+(65*2)+(82*3)+(35*4)+(79*5)+(68*6)+(69*7)+(0*8)+(17*9)=2093

2093/103=20余33

33=A

完整的條形碼信息:(Start B)BarCode 1(A)(STOP)

注意:當你打印校驗字符“A”時,你需打印ASCII字符數65(而不是33),你必須增加32到校驗數上,然后找出打印的ASCII字符。比如說,你使用START A打印CodeA條碼,計算出的校驗數字是64,你可能會認為打印一個NULL字符,那你就錯了,你必須增加32得到一個96,你能夠打印出ASCII字符96( `字符)。

Code128條形碼的高度必須至少是條形碼寬度的0.15倍或者6.35mm,以兩個數值的較大者為準,Code128條形碼的總寬度由下面的公式得出:

L=(11C+35)X (字母數字) ;L = (5.5C+35)X(數字僅使用CodeC)

這里:

L=Code128條形碼的寬度(不包括靜止區)(英寸為單位)

C=數據字符、代碼字符和轉移字符的數量(不包括開始、停止、校驗字符,他們將被自動添加)

X=X-尺寸(英寸為單位,比如,7mil條形碼的X-尺寸為0.007英寸)

下面使用三個例子,分別說明Code128條形碼長度的計算:

1、下圖條形碼通過Bartender軟件編輯,采用Code128A字符集,條形碼密度為16.39mil,字符數為7。

Code128A條形碼

根據公式進行計算L=(11*7+35)*0.01639=1.83568英寸=46.6mm

根據公式計算的Code128條形碼寬度與軟件實際生成的條形碼寬度是一致的。

2、下圖條形碼通過Bartender軟件編輯,采用Code128C字符集,條形碼密度為16.39mil,字符數為10。

Code128C條形碼

根據公式(全部為CodeC時的公式)進行計算L=(5.5*10+35)*0.01639=1.4751英寸=37.5mm

根據公式計算的Code128條形碼寬度與軟件實際生成的條形碼寬度是一致的。

采用Code128C時也可以采用2位解碼的方式,如上圖所示的1256742345,可以解碼為“12”“56”“74”“23”“45”總共5個字符。

根據公式進行計算L=(11*5+35)*0.01639=1.4751英寸=37.5mm,與使用另外一個公式的結果是一致的。

3、下圖條形碼通過Bartender軟件編輯,前面的小寫字母采用Code128B字符集,后面的數字采用Code128C字符集,中間使用了shift轉換字符,條形碼密度為16.39mil,字符數為10。

Code128B條形碼

下面進行字符數統計:“abc”采用Code128B字符集,計算為3個字符,“6742345”采用Code128C字符集,計算為4個字符,中間轉換字符Shift計算為1個字符,總共為8個字符。

根據公式進行計算L=(11*8+35)*0.01639=2.01597英寸=51.2mm

根據公式計算的Code128條形碼寬度與軟件實際生成的條形碼寬度是一致的。

附錄:Code128條形碼字符表

下表顯示了三個不同的字符集,每個字符的十進制值是用來計算校驗字符。最后一列顯示的字符模式的條和空。數字顯示模塊的數量范圍內給定的空間或酒吧。為了得到擴展ASCII十進制,添加32在第一列的十進制值。這里有一個很好的擴展ASCII表。請注意,Code128只能編碼英文字母。

Code128條形碼字符表 

歡迎聯系我們咨詢相關業務
微信二維碼
色欲色香天天天综合网站_国产精品无码无卡在线观看_国产网友愉拍精品视频手机_丁香五月亚洲综合在线国内自拍_国产午夜片无码区在线播放 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>