src/packbits.py
def decode(data):
    """
    Decodes a PackBit encoded data.
    """
    data = bytearray(data) # <- python 2/3 compatibility fix
    result = bytearray()
    pos = 0
    while pos < len(data):
        header_byte = data[pos]
        if header_byte > 127:
            header_byte -= 256
        pos += 1

        if 0 <= header_byte <= 127:
            result.extend(data[pos:pos+header_byte+1])
            pos += header_byte+1
        elif header_byte == -128:
            pass
        else:
            result.extend([data[pos]] * (1 - header_byte))
            pos += 1

    return bytes(result)
def decode(data):
    data = bytearray(data) # <- python 2/3 compatibility fix
    result = bytearray()
    pos = 0
    while pos < len(data):
        header_byte = data[pos]
        if header_byte > 127:
            header_byte -= 256
        pos += 1

        if 0 <= header_byte <= 127:
            result.extend(data[pos:pos+header_byte+1])
            pos += header_byte+1
        elif header_byte == -128:
            pass
        else:
            result.extend([data[pos]] * (1 - header_byte))
            pos += 1

    return bytes(result)
def decode ( data ) : data = bytearray ( data ) # <- python 2/3 compatibility fix result = bytearray ( ) pos = 0 while pos < len ( data ) : header_byte = data [ pos ] if header_byte > 127 : header_byte -= 256 pos += 1 if 0 <= header_byte <= 127 : result . extend ( data [ pos : pos + header_byte + 1 ] ) pos += header_byte + 1 elif header_byte == - 128 : pass else : result . extend ( [ data [ pos ] ] * ( 1 - header_byte ) ) pos += 1 return bytes ( result )
Decodes a PackBit encoded data.
Decodes a PackBit encoded data .