条形码Code93程序设计
一.了解一下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码程序就完成了
- 条码打印机乱码是什么原因 2013/7/4
- 上海包装条码打印机标签印刷设备展览会 2013/7/4
- 古巴雪茄包装采用全新的标签和条形码技术 2013/7/4
- 广西阳朔旅游景区采用条码电子门票 2013/7/4
- 新闻出版总署网上发放条码62465个 2013/7/4
- 中考考试答题卡采用条形码 2013/7/4
- 医院医疗机构怎样打印腕带条码 2013/7/4
- 谈谈物流快递不快问题出在哪里 2013/7/4
- 数码打印技术在烟草行业的应用 2013/7/4
- 杭州老人采用人体条形码计算机技术 2013/7/4
推荐:阅读了本文的人,还阅读了如下部分相关内容: