leb128 1.1.0
leb128: ^1.1.0 copied to clipboard
A Dart package that can read and write numbers in the LEB128, short for Little Endian Base 128, format.
LEB128 Encoder/Decoder #
This package offers easy-to-use methods that let you encode and decode LEB128 data. LEB128, which is short for Little Endian Base 128, is a code compression algorithm that is used in a variety of file formats. The most well-known are WebAssembly's binary .wasm and Android's .dex files.
Usage #
-
You can call the
Leb128.encodeSigned()method to convert a Dartintvalue into an LEB128 list of bytes. The list is aUint8Listobject. Use this method for both positive and negative values. -
You can call the
Leb128.encodeUnsigned()method to convert a Dartintvalue, which is positive, into an LEB128 list of bytes. -
You can call the
Leb128.decodeSigned()method to convert aUint8Listobject into a Dartintvalue. Use this method for signed LEB128 integers only. -
You can call the
Leb128.decodeUnsigned()method to convert aUint8Listobject into a Dartintvalue. Use this method for unsigned LEB128 integers only.
This package also offers two utility methods namedLeb128.decodeVarint7() and Leb128.decodeVaruint7(), which are easier to use if you need to convert a single byte of data.