Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Hacker Language by s1337
from string import ascii_letters as al
class HackerLanguage:
class Interpreter():
def __init__(self):
self.hblank = '1000000'
def p2h(self, msg):
r = list()
for letter in msg:
if letter in al:
r.append( f'{ord(letter):b}' )
elif letter == ' ':
r.append( self.hblank )
else:
r.append( letter )
return ''.join(r)
def h2p(self, enc):
r = list()
while len(enc):
if enc.startswith(self.hblank):
r.append(' ')
enc = enc[len(self.hblank):]
elif enc[0] in ['0', '1']:
r.append(chr(int(enc[0:7], 2)))
enc = enc[7:]
else:
r.append(enc[0])
enc = enc[1:]
return ''.join(r)
def __init__(self):
self.msg = str()
self.interpreter = self.Interpreter()
def write(self, msg):
self.msg = self.msg + msg
def delete(self, num):
self.msg = self.msg[:-num]
def send(self):
return self.interpreter.p2h(self.msg)
def read(self, enc):
return self.interpreter.h2p(enc)
Aug. 10, 2018