On Wed, 17 Sep 2008 18:02:15 +0200, Canned wrote: > Hi, > I'm trying to write a class that can convert ascii to binary and vice > versa. I write my class based on this function I've found on internet
[...] > That works perfectly, but when I try to implement it in my own class it > gives me alot of headache, also because I'm totally new to the language. > It work only with one character at a time, and if I give a string it > just give some weird result. [snip code] Your "ascii_to_bin" method tries to do too much in one method. You should split the functionality into small, self-contained pieces, then combine them. And frankly, once you got to the part where you started popping and inserting, my brain melted. You are making an easy job too hard! *smiles* Try this instead: class Converterab: ''' Ascii-binary converter. ''' def __init__(self, string): self.string = string def bin(self, n): """Return the binary representation of a positive integer n.""" bindump = [] while n > 0: bindump.append(str(n & 1)) n = n >> 1 bindump.reverse() if bindump: return ''.join(bindump) else: return '0' def char_to_bin(self, c): """Return the binary representation of a character c.""" bits = self.bin(ord(c)) zeroes = "0" * (8-len(bits)) return zeroes+bits def ascii_to_bin(self): results = [] for c in self.string: results.append(self.char_to_bin(c)) return ''.join(results) -- Steven -- http://mail.python.org/mailman/listinfo/python-list