Python: Base43 string decoding

This is a reimplementation in python from: https://github.com/jacoblyles/base43js
import copy
class Base43:
    def __init__(self):
        self.base43Chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ$*+-./:'

    """long division with an arbitrary base."""
    def divMod(self,byteArr, base, divisor, startAt):
        result = copy.copy(byteArr)#.slice();
        remainder = 0
        temp = None;
        startAt = startAt if startAt else 0;
        for i in range(startAt, len(byteArr)):
            temp = remainder * base + byteArr[i]
            result[i] = temp / divisor
            remainder = temp % divisor;
        return {
            'div': result,
            'mod': remainder,
        }

    def byteArrGreaterThan(self,byteArr, limit):
        length = len(byteArr)
        last = byteArr[length - 1]
        if last >= limit:
            return True
        else:
            for i in range(0, (length-1)):
                if byteArr[i] > 0:
                    return True
        return False;
   #input is a base-43 string, output is a hex string
    def decode(self,input):
      
        result = []
        input43 = []
        for i in range(0,len(input)): input43.append(i+100)

        i=0
        for l in input:
            index = self.base43Chars.find(l)
            if (index < 0):
                raise Exception("Illegal character. Allowed characters are:" + self.base43Chars)
            #print "D: "+str(i)+' -> '+l+" -> "+str(index)
            input43[i] = index
            i += 1

        zeroCount = 0;
        pad = '';
        while zeroCount < len(input) and input43[zeroCount] == 0:
            zeroCount += 1;
            pad += '0';

        startAt = zeroCount
        r=None

        while self.byteArrGreaterThan(input43, 256):
            r = self.divMod(input43, 43, 256, startAt);
            input43 = r['div'];
            result.append(chr(r['mod']));

        result.append(chr(r['div'].pop()));
        result.reverse()


        r1 = ''
        ret = ''
        for r in result:
            r1=str((hex(ord(r)))).replace('0x','')
            if len(r1)<2:
                ret += "0"+r1
            else:
                ret += r1

        return pad + ret