Key Length Value encoding and decoding
Project description
KLV in Python
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
Unit Tests
Install nose:
pip install nose
Run the command nosetests
in the root directory.
Encode Key/Value
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)
.
Decode KLV Messages
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.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file klv-0.0.5.tar.gz
.
File metadata
- Download URL: klv-0.0.5.tar.gz
- Upload date:
- Size: 2.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.19.1 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
9538f82eef1758368c699abb79649a5131c060c93c0b91033ec7ae6eb50bfe8c
|
|
MD5 |
f77a4a4f452ba95473888ebe08f41935
|
|
BLAKE2b-256 |
524ef89c601a0251116d7eb2b74d8c582084266808b0411b88acca41ecf0cb4a
|
File details
Details for the file klv-0.0.5-py3-none-any.whl
.
File metadata
- Download URL: klv-0.0.5-py3-none-any.whl
- Upload date:
- Size: 3.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.19.1 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
7f89d3ac3f4bb44bf78af63a74c19ff64bcaf7cd9500ad727d62e665aa3faf7e
|
|
MD5 |
626112f3d620e3ba57d884fd171c6380
|
|
BLAKE2b-256 |
676eb3496b17c04f2b46d5b4e760dfccdd329da80a43fa7777387f35f2b47e5c
|