encoding
Adam Tauno Williams
awilliam at whitemice.org
Mon Feb 14 14:19:32 EST 2011
On Mon, 2011-02-14 at 13:03 -0500, Verde Denim wrote:
> On Mon, Feb 14, 2011 at 12:46 PM, MRAB <python at mrabarnett.plus.com>
> wrote:
> On 14/02/2011 17:10, Verde Denim wrote:
> All
> I'm a bit new to py coding and need to setup some code to
> encode/decode
> base 128.
> Anyone here have some info they can point me to do get thdone? I've
> been looking around on the web for a few days and can't seetlay my
> hands on anything definitive.
> Thanks in advance for your help.
> http://en.wikipedia.org/wiki/LEB128
> Thanks for the reply. The link you sent will (hopefully) give me a
> starting point. Do you know if there are particular implementations of
> base 128 encoding that differ from LEB?
The ULEB128Adapter class @ <
https://bitbucket.org/cmcqueen1975/pythondwarf/src/f2ffeabfa2a6/dwarf32.py> ???
class ULEB128Adapter(Adapter):
"""
Adapter for DWARF unsigned LEB128.
"""
def _encode(self, obj, context):
obj2 = []
value = int(obj)
while True:
byte = value & 0x7F
value >>= 7
if value != 0:
byte = byte | 0x80
obj2.append(chr(byte))
if value == 0:
break
return obj2
def _decode(self, obj, context):
value = 0
for b in reversed(obj):
value = value * 128 + (ord(b) & 0x7F)
return value
More information about the Python-list
mailing list