On 8/6/2012 1:46 PM Mok-Kong Shen said...

If I have a string "abcd" then, with 8-bit encoding of each character,
there is a corresponding 32-bit binary integer. How could I best
obtain that integer and from that integer backwards again obtain the
original string? Thanks in advance.

It's easy to write one:

def str2val(str,_val=0):
    if len(str)>1: return str2val(str[1:],256*_val+ord(str[0]))
    return 256*_val+ord(str[0])


def val2str(val,_str=""):
    if val>256: return val2str(int(val/256),_str)+chr(val%256)
    return _str+chr(val)


print str2val("abcd")
print val2str(str2val("abcd"))
print val2str(str2val("good"))
print val2str(str2val("longer"))
print val2str(str2val("verymuchlonger"))

Flavor to taste.

Emile

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to