Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Scar32
- # DEVIXLER
- # this is my own take on a base32K converter.
- # this format can convert strings of bits starting at
- # 0 or 1 and can convert bits at any length even one
- # bit or even zero bits!
- def bits2character(bits):
- character = 32
- for i in range(15):
- character += int(bits[i])*2**i
- return chr(character)
- characters = '01'
- def character2bits(character):
- n = ord(character)-32
- out = ''
- for l in range(15):
- char = int(n)%2
- out += characters[char]
- n = (n-char)/2
- return out
- def bits2string(bits):
- out = ''
- bits = bits+'1'+'0'*(15-len(bits)%15-1) # my format puts a 1 at the end of the bits followed by zeros
- for p in range(int((len(bits)+1)/15)):
- chunk = ''
- for s in range(15):
- chunk += bits[p*15+s]
- out += bits2character(chunk)
- return out
- def string2bits(string):
- data = ''
- for i in string:
- data += character2bits(i)
- while data[-1] == '0':
- data = data[:-1]
- data = data[:-1]
- return data
- # demo
- print(bits2string(input('bits to string: ')))
- print(string2bits(input('string to bits: ')))
Advertisement
Add Comment
Please, Sign In to add comment