# Algebraic Tag Length Value encoding for Rust [`atlv`](https://gitlab.com/adapt/atlv) is a generic binary data encoding that preserves the data's leaf-spine structure while providing customizable tags and dictating minimal semantics. ``` value: quant | binary | union | array quant: tag…00(vlq) (vlq) binary: tag…01(vlq) len(vlq) byte[len] union: tag…10(vlq) value array: tag…11(vlq) len(vlq) value[len] vlq: 0xxxxxxx | 1xxxxxxx vlq byte: xxxxxxxx tag: xxxxx | xxxxxxx tag ``` This repository contains a [Rust crate](https://crates.io/crates/atlv) for encoding, decoding, and generally manipulating `atlv` data.