35 lines
818 B
Python
35 lines
818 B
Python
|
#!/usr/bin/python
|
||
|
|
||
|
ciphertext = ""
|
||
|
|
||
|
with open("input.html") as f:
|
||
|
data = f.read().strip()
|
||
|
for c in [",","."," ","\n"]:
|
||
|
data = data.replace(c, "")
|
||
|
while len(data) > 0:
|
||
|
i = data.find("<em>")
|
||
|
if i == -1: # end
|
||
|
ciphertext += (5 - (len(ciphertext) % 5)) * "0"
|
||
|
break
|
||
|
elif i == 0:
|
||
|
j = data.find("</em>")
|
||
|
ciphertext += (j - 4) * "1"
|
||
|
data = data[j+5:]
|
||
|
else:
|
||
|
ciphertext += i * "0"
|
||
|
data = data[i:]
|
||
|
|
||
|
chunks = []
|
||
|
chunks_decoded = []
|
||
|
|
||
|
for i in range(0, len(ciphertext), 5):
|
||
|
chunk = ciphertext[i:i+5]
|
||
|
num = int(chunk, 2)
|
||
|
chunks.append(num)
|
||
|
if num < 26:
|
||
|
chunks_decoded.append(chr(num + ord('A')))
|
||
|
else:
|
||
|
chunks_decoded.append("?")
|
||
|
|
||
|
print("".join(chunks_decoded))
|