# 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.
```
binary: tag…01(vlq) len(vlq) byte[len]
union: tag…10(vlq) (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.