commit 7fb10a9d284873b7258aa0a31f2800976b7a62ab Author: Varmen8 Date: Sun Jun 10 22:34:22 2018 +0200 Add basic implementation of XModem diff --git a/main.py b/main.py new file mode 100644 index 0000000..bd60fa3 --- /dev/null +++ b/main.py @@ -0,0 +1,22 @@ +if __name__ == "__main__": + + message = format(int.from_bytes(input().encode("ASCII"), "big"), "b") + generator = "10001000000100001" + gen_deg = len(generator) + + message += "0" * (gen_deg - 1) + if len(message) % 2 != 0: + message = "0" + message + + while True: + + if message[0] == "0": + message = message[1:] + else: + chunk = message[:gen_deg] + if len(chunk) < gen_deg: + print(hex(int(chunk, 2))) + break + + remainder = format(int(chunk, 2) ^ int(generator, 2), "b") + message = remainder + message[gen_deg:] \ No newline at end of file