gs1_sgtin1_reverse.py 965 B

12345678910111213141516171819202122232425262728
  1. from epcpy.epc_schemes import SGTIN
  2. from epcpy.epc_schemes.sgtin import SGTINFilterValue
  3. # 96位SGTIN编码
  4. sgtin_96 = '303404D10C069D8000008D9B'
  5. # 假设我们知道使用的是SGTIN_96编码和POS_ITEM过滤器值
  6. binary_coding_scheme = SGTIN.BinaryCodingScheme.SGTIN_96
  7. filter_value = SGTINFilterValue.POS_ITEM
  8. # 将16进制编码转换为二进制字符串
  9. sgtin_bin = bin(int(sgtin_96, 16))[2:].zfill(96)
  10. # 根据编码规则提取GTIN和序列号
  11. # 这里需要知道GTIN的长度和序列号的长度,以及它们在96位编码中的位置
  12. # 以下代码需要根据实际编码规则进行调整
  13. gtin_bin = sgtin_bin[0:14] # 假设GTIN是14位二进制
  14. serial_bin = sgtin_bin[14:22] # 假设序列号是8位二进制
  15. # 将二进制转换为十进制
  16. gtin = int(gtin_bin, 2)
  17. serial = int(serial_bin, 2)
  18. # 将GTIN转换为字符串
  19. gtin_str = str(gtin).zfill(14) # 填充0以确保GTIN长度正确
  20. print('GTIN:', gtin_str)
  21. print('Serial:', serial)