A Python parser for KLV (Key Length Value) encoded data. KLV encoding is commonly used in the motion picture industry.
http://en.wikipedia.org/wiki/KLV
Install nose:
python install noseRun the command nosetests in the root directory.
import klv
key = [0x03, 0x2E, 0x5F, 0xAB, 0x08, 0x12, 0x2F, 0x0C,
0xEE, 0x33, 0x00, 0x01, 0x02, 0x45, 0x6D, 0xDD]
value = [0x05, 0x04, 0x03, 0x02, 0x01]
klv_msg = klv.encode(key, value)klv_msg will be a bytearray; to convert to an array of ints, use list(klv_msg) and to convert to a string of bytes, use str(klv_msg).
import klv
key, value = klv.decode(klv_msg, 16)Decode takes the form decode(<klv>,<key length>) to accomodate messages with different length keys. The key and value results are bytearrays.
