條碼字型下載
引用:有關barcode code-128
---
(八)128碼
128碼是個功能強大卻頗複雜的條碼系統,約於1981年開始被採用。其編碼特性如下:
1.資料可為ASCII 0∼127之任何字元,長度最長30個資料。
2.編碼結構為〔起始碼+資料碼+終止碼+檢查碼〕,其中檢查碼可有可無,通常不加。
3.有三類編碼方式:
A類:ASCII 0∼95。
B類:ASCII 32∼127。
C類:數字00∼99。
其中ASCII 0∼31對應編碼索引為64∼95,ASCII 32∼95對應編碼索引為0∼63,ASCII 96∼127對應編碼索引為64∼95,C類數字直接對應至編碼索引。各類尚有特殊編碼索引值如下:
A類:F3=96、F2=97、Shift=98、Code C=99、Code B=100、F4=101、F1=102
B類:F3=96、F2=97、Shift=98、Code C=99、F4=100、Code A=101、F1=102
C類:Code B=100、Code A=101、F1=102
4.起始碼有11線,用以決定一開始的編碼類型,各類型的起始碼為:
A類 = 11010000100
B類 = 11010010000
C類 = 11010011100
終止碼有13線,固定為1100011101011。
5.各編碼索引對應之編碼值如下,0表白線,1表黑線,各佔11條線:
00 11011001100
01 11001101100
02 11001100110
... (以下略, 你已有字型了, 應該按此線條列印)
99 10111011110
100 10111011110
101 11101011110
102 11110101110
6.檢查碼的計算方式103加上各資料的編碼索引值乘上位置值的總和,再除以103取餘數。假設資料編碼索引值依次為ABC,則檢查碼 = (103 + A*1 + B*2 + C*3) % 103。計算出檢查碼後,即視為編碼索引值進行編碼。
7.特殊資料碼意義為:
F1∼F4 = 同按下F1∼F4鍵
Shift = 同按下Shift鍵
Code A = 編碼類別改成A類
Code B = 編碼類別改成B類
Code C = 編碼類別改成C類
由於128碼可以中途轉變編碼類別,因此同一個資料可能有多個編碼方式,如何將編碼長度縮到最小,便成為一項考驗。以下係我們經過分析後,所得到的演算法,可使得編碼長度縮到最小:
1.決定起始碼
(1)一開始數字連續4個以上時,使用C類。
(2)先遇上ASCII 0∼31者,使用A類,先遇上ASCII 96∼127者,使用B類。都遇不上,一律採用A類。
2.中途轉碼考慮
A、B類 -
(1)數字6個以上時,改用C類。
(2)遇上ASCII 0∼31者,改用A類,遇上ASCII 96∼127,改用B類。
C類 -
(1)只剩0∼1個數字時,往後找(2)的情況,若無,一律使用A類。
(2)遇上ASCII 0∼31者,改用A類,遇上ASCII 96∼127,改用B類。
參考:code128編碥必要知識
code 128 barcodes in your custom programs
沒有留言:
張貼留言