python3轉換ITF25(交叉25
- 2020 年 1 月 2 日
- 筆記
繼上篇的python3轉換code128條形碼之後,發現,由於code128
密度太高,依然無法清晰列印。 迫於無奈,只能選擇這個密度低的條形碼,就是:交叉25碼
(Interleaved 2of5
)。
而且這個ITF25
的轉換規則也很變態,看了幾篇文章後才領悟,參考:文章1 文章2
關鍵點是:
- 要用括弧包裹,用於標識開始和結束
- 每2個數字分割一次,獨立轉換為Unicode文字
def conver_itf25(self, inputData): start_index = 0 datalist = [] if len(inputData) % 2 is not 0: start_index = 1 datalist.append(inputData[0]) datalist += re.findall(r'd{2}', inputData[start_index:]) result = '' for i, numStr in enumerate(datalist): intStr = int(numStr) if intStr <= 49: result += chr(intStr + 48) else: result += chr(intStr + 142) return '(' + result + ')'
有需要的拿走,點個贊,謝了!