fork download
  1. import struct
  2.  
  3. theline = bytearray(('\x01\xA1\x00\x02\x03\x04\x09\x04'))
  4.  
  5. data_len = (theline[2] * 256) + theline[3]
  6.  
  7. #SOH, MSG_TYPE, LEN_MSB, LEN_LSB, DATA, CS, EOT
  8. baseformat = '1s 1s 2x %ds 1s 1s' % (data_len)
  9.  
  10. #numremain = len(theline) - struct.calcsize(baseformat)
  11.  
  12. #format = '%s %ds' % (baseformat, numremain)
  13.  
  14. print struct.unpack(baseformat, theline)
  15.  
  16. #soh,msgType,data,cs,eot = struct.unpack(baseformat, theline)
  17.  
  18. #print "SOH: %s, Type: %s, Len: %s, Data: %s, CS: %s, EOT: %s" % (soh,msgType,data_len,data,cs,eot)
  19.  
Success #stdin #stdout 0.01s 6936KB
stdin
Standard input is empty
stdout
('\x01', '\xa1', '\x03\x04', '\t', '\x04')