V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
FarewellRain
V2EX  ›  问与答

关于 code128c 中间有多个 0 出现的问题

  •  
  •   FarewellRain · 2019-08-28 17:01:40 +08:00 · 847 次点击
    这是一个创建于 1705 天前的主题,其中的信息可能已经有所发展或是发生改变。

    def code128C(s): checksum = 105 j = 1 result = '' for i in range(0, len(s), 2): checksum += int(s[i:i + 2], base=10) * j print(s[i:i + 2], j, checksum) if int(s[i:i + 2]) < 95: result += chr(int(s[i:i+2]) + 32) j += 1 else: result += chr(int(s[i:i+2]) + 100) j += 1 checksum %= 103 checksum += 32 if checksum < 95 else 100 retval = chr(205) + result + chr(checksum) + chr(206) return retval.decode('iso8859_1').encode('utf-8')

    当条码号中有一组 0 时,打印的字符串在 code128 字体下显示有问题,扫码后不能得到条码号。
    例如:当条码号为 1999100212 能显示正常,当条码为 199910000212 时显示不正常,不能得到正确的结果
    麻烦懂的朋友指导一下
    谢谢!
    
    1 条回复    2019-08-28 17:12:59 +08:00
    FarewellRain
        1
    FarewellRain  
    OP
       2019-08-28 17:12:59 +08:00
    代码用了 markdown 还是不太友好
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3290 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 11:26 · PVG 19:26 · LAX 04:26 · JFK 07:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.