C#条码设计-CODE93

   由于最近一段时间在忙考试,一直也没有时间接着写,现在考完试了,慢慢将其他的编码规则发上来,希望对各位能有所帮助!

今天要跟大家分享的CODE93编码规则.

一.了解一下CODE93的发展:     

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

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

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

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

二.CODE93的组成部分     

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

字母:A-Z                    

数据:0-9                    

符号:空格、.  、%  、 $  、+  、–  、/                

控制码: $  、+  、–  、/                

起讫码: 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码字符集码表

 

            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编码

       #region Encode barcode string

        /// <summary>

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

         /// </summary>

        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码就完成了程序运行结果 http://download.csdn.net/source/607627

可以转载,转载请注明出处

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值