三种条码code39和code93以及code128在应用中的比较

  与经常在商品上见到的ENA 13条码不同,code39, code93和 code128常用于企业自定义编码的应用。

  从易用性来说,code39显示是最容易的,其编码只需要对原字符串前后加上符号“*”即可。code93作为code39的改进,复杂程居中,到目前还没在实际中见到应用。而code128就比较复杂,除了有A、B、C三个子编码方案外,还有一个自动组合三者的Auto方案,自动方案的目的是组合ABC三方案使用某一字符串编码为code128时尽可能短。

   从识别容易程序看,code39相对来说较难识别, code93次这,反而是最复杂的code128最容易识别。code39对白线和黑线都只有两种组细,而code128有4种,因此code128在单位面积上比code39能表达更多的信息。

  从可靠性来说,也是code128最为可靠,code93次之,code39最差。code128可以在有相对较多污损的情况下还能识别,其原因之一是校验信息是独立于编码后的单个字符的,而code39的校验信息则在单个字符的编码之内。

  在实际应用中,只见过顺丰快递使用的是code128,其它的所见到的快递公司全用的是code39。code128相对来说印刷成本也比较高,因为其条码的印刷不能像code93那样只需要打码的设备跳一格就行了。这种高成本成与与顺丰快递在国内相对较高的市场定位相匹配。实际上,在顺丰看到他们的工作人员刷条码是很容易的,而在其它快递就看到刷条码相对慢一些。也曾经在医院看到使用code39的,其识别速度也比较慢。

  总体来说code39的得到了多数支持,但个人选择code128。从经验来看,这两者的品质不止差一点点。

 

http://www.whodm.com/?p=64

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以使用VBA编写一个生成Code128B条形码的函数,然后在Excel调用该函数来生成条形码。以下是一个示例代码: ``` Function GenerateCode128BBarcode(ByVal value As String) As String Dim barcode As String Dim checksum As Integer Dim i As Integer ' Start character barcode = "11010000100" checksum = 104 ' Encode each character For i = 1 To Len(value) Dim code As Integer Select Case Asc(Mid(value, i, 1)) Case 32 To 126 ' ASCII characters code = Asc(Mid(value, i, 1)) - 32 Case 128 To 255 ' Extended ASCII characters code = Asc(Mid(value, i, 1)) - 100 Case Else ' Invalid character GenerateCode128BBarcode = "" Exit Function End Select barcode = barcode & Code128BTable(code) checksum = checksum + code * i Next i ' Calculate checksum checksum = checksum Mod 103 barcode = barcode & Code128BTable(checksum) ' Stop character barcode = barcode & "1100011101011" GenerateCode128BBarcode = barcode End Function Function Code128BTable(ByVal code As Integer) As String Dim table As String Select Case code Case 0 To 9 table = "11011001100" Case 10 To 19 table = "11001101100" Case 20 To 29 table = "11001100110" Case 30 To 39 table = "10010011000" Case 40 To 49 table = "10010001100" Case 50 To 59 table = "10001001100" Case 60 To 69 table = "10011001000" Case 70 To 79 table = "10011000100" Case 80 To 89 table = "10001100100" Case 90 To 99 table = "11001001000" Case 100 To 109 table = "11001000100" Case 110 To 119 table = "11000100100" Case 120 To 129 table = "10110011100" Case 130 To 139 table = "10011011100" Case 140 To 149 table = "10011001110" Case 150 To 159 table = "10111001100" Case 160 To 169 table = "10011101100" Case 170 To 179 table = "10011100110" Case 180 To 189 table = "11001110010" Case 190 To 199 table = "11001011100" Case 200 To 209 table = "11001001110" Case 210 To 219 table = "11011100100" Case 220 To 229 table = "11001110100" Case 230 To 239 table = "11101101110" Case 240 To 249 table = "11101001100" Case 250 To 255 table = "11100101100" End Select Code128BTable = table End Function ``` 要在Excel生成条形码,只需在单元格输入以下公式: ``` =GenerateCode128BBarcode("VALUE") ``` 其,VALUE是要编码的字符串。将VALUE替换为实际的值即可生成条形码。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值