Barcode - Code128 應用(上)

Barcode - Code128 應用(上)

因為近日工作上的需求,需要應用到Barcode Code128-B 來做為出貨標籤的規格

就把這次學習及應用的過程記錄下一來,與大家一同分享.

話說Barcode 這玩意的規格真是不少 詳情可參考下列網頁

http://en.wikipedia.org/wiki/Barcode

打從接觸Barcode以來,都是使用Code39碼居多,應用的規責也非常的簡單

在實際產生條碼的時候,很直覺式的只需要在表示的資料前後加上“*” 做為啟始碼/停止碼即可

因為其方便性,所以在製造業上面應用算是非常的普及,要學習的人也最容易的上手

但是有個問題是當如果表現的資料有一定的長度時候,這時候容易出現一些問題

    ⊙資料長度過長時,有限的空間裡,能表現的資料變得有限制

    ⊙可以表現出的字元符號有限

    ⊙無法區分大小寫的英文字母

參考比較表

image

礙於上述幾項的問題以及客戶的SPEC

所以不得不開始著手研究一下Code 128的”攻略”

首先就要了解一下Code128的組成規則

Code128 是由 啟始碼+資料碼+檢查碼+停止碼  所組合而成的條碼

既然有檢查碼 就要來先了解一下是如何組成以及公式為何

Code128代碼編號從 0~106,共107個號碼

(這是Code128專有的代碼,跟ASCII/Unicode 可是不一樣的,要多留意!)

依其編碼方式又分為下列三類:

    ⊙Code A:ASCII 0~95 字元與控制碼,及128碼專用的字元,共計<103>個。

    ⊙Code B:ASCII 32~127字元,以及一些特殊的按鍵與轉換碼,共計<103>個。

    ⊙Code C:支援數字(00~99)方面編碼。 兩個數字以一個代碼表示,省下了不少空間。

同一個 Code128,可以不同的方式予以編碼。藉著A, B , C三種不同編碼規則的互換

可擴大字元選擇的範圍,或者,也可縮短編碼的長度。

因為工作上的應用多屬於指定編碼方式,所以就不在此說明如何去計算出編碼方式的最佳解

 

下圖為Code128碼的定義表

image

 

再來就以一個Code128-B編碼方式來做為範例說明

Example: CC

Message : Start B  C    C  

Value       104      35   35

Position:   -          1     2

Calculate Total: 104 + (35x1) + (35x2)= 209

checksum code: 209 Mod 103 = 3

checksum char : 3 = #

Final code(Code128): (104)(35)(35)(3)(106)

Final code(ASCII):     (154)(67)(67)(35)(156)

Final Display(ASCII): š     C   C    #    œ

Final message:   (Start B)  (CC)  (#)  (STOP)

 

說明到了這裡,想必對Code128已經有一定程度上的了解, 下面再附上一張Code128

附有條碼表現圖案的表

31