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
FarewellRain OP 代码用了 markdown 还是不太友好
|