View Source Varint
A library to compress integers using LEB128.
Installation
Add :varint to your list of dependencies in mix.exs:
def deps do
[{:varint, "~> 1.4"}]
endUsage
LEB128
Use this module to compress and decompress unsigned integers:
iex> Varint.LEB128.encode(300)
<<172, 2>>iex> Varint.LEB128.decode(<<172, 2>>)
{300, <<>>}Zigzag
As LEB128 works with unsigned integers, you can use the the Zigzag module to process signed integers.
iex> Varint.Zigzag.encode(-2)
3iex> Varint.Zigzag.decode(3)
-2iex> Varint.Zigzag.encode(2)
4iex> Varint.Zigzag.decode(4)
2You'll find detailed instructions at hexdocs.pm.
License
Copyright (c) 2016 Alexandre Hamez
This work is free. You can redistribute it and/or modify it under the terms of the MIT License. See the LICENSE file for more details.