leb128¶
Little Endian Base 128 (LEB128) variable length encoding
https://en.wikipedia.org/wiki/LEB128#Unsigned_LEB128
-
ppci.utils.leb128.
signed_leb128_decode
(data) → int¶ Read variable length encoded 128 bits signed integer.
>>> from ppci.utils.leb128 import signed_leb128_decode >>> signed_leb128_decode(iter(bytes([0x9b, 0xf1, 0x59]))) -624485
-
ppci.utils.leb128.
signed_leb128_encode
(value: int) → bytes¶ Encode the given number as signed leb128
>>> from ppci.utils.leb128 import signed_leb128_encode >>> signed_leb128_encode(-1337) b'Çu'
-
ppci.utils.leb128.
unsigned_leb128_decode
(data) → int¶ Read variable length encoded 128 bits unsigned integer
>>> from ppci.utils.leb128 import unsigned_leb128_decode >>> signed_leb128_decode(iter(bytes([0xe5, 0x8e, 0x26]))) 624485
-
ppci.utils.leb128.
unsigned_leb128_encode
(value: int) → bytes¶ Encode number as into unsigned leb128 encoding
>>> from ppci.utils.leb128 import unsigned_leb128_encode >>> unsigned_leb128_encode(42) b'*'