新闻咨讯 News
最新资讯 New
搜索   Search
你的位置:首页 > 新闻咨讯 > 新闻咨讯

条形码Code93程序设计

2013-7-4 11:29:21

一.了解一下CODE93的发展:    

1.Code 93於1982年,基於code 39之上而設計.    

2.Code93比Code39能夠編碼更大的字符集,並且擁有更高的數據容量.    

3.Code 93設計來編碼字母和數字混合信息.    

4.Code 93需要兩個校驗碼.

二.CODE93的组成部分    

1.所能表示的数据范围:      

字母:A-Z      

数据:0-9    

符号:空格、.  、%  、 contentnbsp; 、+  、–  、/    

控制码: contentnbsp; 、+  、–  、/    

起讫码: START : "101011110";  STOP  = "1010111101"

三.CODE93的特点   

 1.可用控制码与其它与其他字母或符号组合可变成FULL ASSIC II字母   

 2.有二个检查码”C”和”K”,扫码器读取时并不输出,只在扫码器内部检查.    

3.检验码的计算方法:      

 a.先检查出资料对应的码值      

 b.检查码C从资料的最右边一位开始,用1-20的顺序排列,若超过20位,则从头开始    

c.检查码K从资料的C位开始,用1-15的顺序排列,若超过15位则从头开始.

条码打印机

1*3+2*9+3*38+4*14+5*13+6*24+7*12=484 C=484÷47=14 则C=14=E(对应值) K的值的计算同C

四.条形码的基本组成

 条码打印机

五.程序编码

CODE93码字符集码表

view plaincopy to clipboardprint?
   

     code0["0"] = "100010100";      code0["1"] = "101001000";      code0["2"] = "101000100";      code0["3"] = "101000010";      code0["4"] = "100101000";      code0["5"] = "100100100";      code0["6"] = "100100010";      code0["7"] = "101010000";      code0["8"] = "100010010";      code0["9"] = "100001010";      code0["A"] = "110101000";      code0["B"] = "110100100";      code0["C"] = "110100010";      code0["D"] = "110010100";      code0["E"] = "110010010";      code0["F"] = "110001010";      code0["G"] = "101101000";      code0["H"] = "101100100";      code0["I"] = "101100010";      code0["J"] = "100110100";      code0["K"] = "100011010";      code0["L"] = "101011000";      code0["M"] = "101001100";      code0["N"] = "101000110";      code0["O"] = "100101100";      code0["P"] = "100010110";      code0["Q"] = "110110100";      code0["R"] = "110110010";      code0["S"] = "110101100";      code0["T"] = "110100110";      code0["U"] = "110010110";      code0["V"] = "110011010";      code0["W"] = "101101100";      code0["X"] = "101100110";      code0["Y"] = "100110110";      code0["Z"] = "100111010";      code0["-"] = "100101110";      code0["."] = "111010100";      code0[" "] = "111010010";      code0["___FCKpd___1quot;] = "111001010";      code0["/"] = "101101110";      code0["+"] = "101101110";      code0["%"] = "110101110";      code0["SHIFT1"] = "100100110";      code0["SHIFT2"] = "111011010";      code0["SHIFT3"] = "111010110";      code0["SHIFT4"] = "100110010";      code0["START"] = "101011110";      code0["STOP"] = "1010111101";


 
     code0["0"] = "100010100";      code0["1"] = "101001000";      code0["2"] = "101000100";      code0["3"] = "101000010";      code0["4"] = "100101000";      code0["5"] = "100100100";      code0["6"] = "100100010";      code0["7"] = "101010000";      code0["8"] = "100010010";      code0["9"] = "100001010";      code0["A"] = "110101000";      code0["B"] = "110100100";      code0["C"] = "110100010";      code0["D"] = "110010100";      code0["E"] = "110010010";      code0["F"] = "110001010";      code0["G"] = "101101000";      code0["H"] = "101100100";      code0["I"] = "101100010";      code0["J"] = "100110100";      code0["K"] = "100011010";      code0["L"] = "101011000";      code0["M"] = "101001100";      code0["N"] = "101000110";      code0["O"] = "100101100";      code0["P"] = "100010110";      code0["Q"] = "110110100";      code0["R"] = "110110010";      code0["S"] = "110101100";      code0["T"] = "110100110";      code0["U"] = "110010110";      code0["V"] = "110011010";      code0["W"] = "101101100";      code0["X"] = "101100110";      code0["Y"] = "100110110";      code0["Z"] = "100111010";      code0["-"] = "100101110";      code0["."] = "111010100";      code0[" "] = "111010010";      code0["___FCKpd___1quot;] = "111001010";      code0["/"] = "101101110";      code0["+"] = "101101110";      code0["%"] = "110101110";      code0["SHIFT1"] = "100100110";      code0["SHIFT2"] = "111011010";      code0["SHIFT3"] = "111010110";      code0["SHIFT4"] = "100110010";      code0["START"] = "101011110";      code0["STOP"] = "1010111101"; CODE93编码

view plaincopy to clipboardprint?
      #region Encode barcode string  
 
     ///  
 
     /// 对条码的值进行编码  
 
     ///  
 
     private void EncodeBarcodeValue()  
 
     {  
 
     try 
 
     {  
 
     String str = code.ToUpper();  
 
     strLength = str.Length;       //起始码  
 
     encodedString = code0["START"];     //与码表值进行对应  
 
     for (int i = 0; i < strLength; i++)  
 
     {  
 
     encodedString += code0[str[i].ToString()];  
 
     }       //计算出CK的值  
 
     encodedString += GetCheckC_KValue();      
//结束码  
 
     encodedString += code0["STOP"];  
 
     }  
 
     catch 
 
     {  
 
     throw new Exception("条码的值错误请检查!");  
 
     }  
 
 
 
     } 
 
     #endregion

      #region Encode barcode string

     ///

     /// 对条码的值进行编码

     ///

     private void EncodeBarcodeValue()

     {

     try

     {

     String str = code.ToUpper();

     strLength = str.Length;       //起始码

     encodedString = code0["START"];     //与码表值进行对应

     for (int i = 0; i < strLength; i++)

     {

     encodedString += code0[str[i].ToString()];

     }       //计算出CK的值

     encodedString += GetCheckC_KValue();    
//结束码

     encodedString += code0["STOP"];

     }

     catch

     {

     throw new Exception("条码的值错误请检查!");

     }

 

     }

     #endregion经过编码后encodedString里所对应的内容就是条码资料所对应的编码,接下下就是用做图函数,将一个个的画出来即可,这样一个CODE39码程序就完成了


关闭
138-2377-4796 工作时间:
上午8:30-12:00
下午13:30-18:30