From 7fb10a9d284873b7258aa0a31f2800976b7a62ab Mon Sep 17 00:00:00 2001 From: Varmen8 Date: Sun, 10 Jun 2018 22:34:22 +0200 Subject: [PATCH] Add basic implementation of XModem --- main.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 main.py 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