Skip to main content

Key Length Value encoding and decoding

Project description

Build Status

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

klv-0.0.5.tar.gz (2.7 kB view details)

Uploaded Source

Built Distribution

klv-0.0.5-py3-none-any.whl (3.7 kB view details)

Uploaded Python 3

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

Hashes for klv-0.0.5.tar.gz
Algorithm Hash digest
SHA256 9538f82eef1758368c699abb79649a5131c060c93c0b91033ec7ae6eb50bfe8c
MD5 f77a4a4f452ba95473888ebe08f41935
BLAKE2b-256 524ef89c601a0251116d7eb2b74d8c582084266808b0411b88acca41ecf0cb4a

See more details on using hashes here.

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

Hashes for klv-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 7f89d3ac3f4bb44bf78af63a74c19ff64bcaf7cd9500ad727d62e665aa3faf7e
MD5 626112f3d620e3ba57d884fd171c6380
BLAKE2b-256 676eb3496b17c04f2b46d5b4e760dfccdd329da80a43fa7777387f35f2b47e5c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page