sscc_2.py 688 B

123456789101112131415161718192021
  1. def hex_to_gs1_sscc(hex_sscc):
  2. # 将十六进制字符串转换为二进制字符串
  3. binary_sscc = bin(int(hex_sscc, 16))[2:].zfill(64)
  4. # 移除校验位(假设校验位是最后一个数字)
  5. binary_sscc_without_checksum = binary_sscc[:-1]
  6. # 将二进制字符串转换回十六进制字符串
  7. hex_sscc_without_checksum = hex(int(binary_sscc_without_checksum, 2))[2:].zfill(32)
  8. # 添加SSCC前缀
  9. gs1_sscc = f"(00){hex_sscc_without_checksum}"
  10. return gs1_sscc
  11. # 示例十六进制SSCC编码
  12. hex_sscc_example = "31D40BE9E03B9ACA01000000"
  13. # 转换为GS1字符串格式
  14. gs1_sscc = hex_to_gs1_sscc(hex_sscc_example)
  15. print(gs1_sscc)