Skip to content
Snippets Groups Projects
Verified Commit 477dbabe authored by iliya.saroukha's avatar iliya.saroukha :first_quarter_moon:
Browse files

feat: encoding or decoding

parent 2e555b5b
No related branches found
No related tags found
No related merge requests found
...@@ -209,20 +209,28 @@ def decode(encoded: str) -> (str, str): ...@@ -209,20 +209,28 @@ def decode(encoded: str) -> (str, str):
def main() -> None: def main() -> None:
parser = argparse.ArgumentParser(prog='dyn_huffman.py') parser = argparse.ArgumentParser(prog='dyn_huffman.py')
parser.add_argument('input') group = parser.add_mutually_exclusive_group(required=True)
group.add_argument('-e', '--encode', metavar='TEXT',
help='Encode given input string')
group.add_argument('-d', '--decode', metavar='BINARY',
help='Decode binary string')
args = parser.parse_args() args = parser.parse_args()
print('=============== Encoding ===============') print('============= Vitter params =============')
encoded_input = encode(args.input) e, r = compute_vitter_params(len(LIST_ALPHABET))
print(f'Code final: {encoded_input}') print(f'e = {e}\tr = {r}')
print() print()
print('=============== Decoding ===============') if args.encode:
with_nyt, without_nyt = decode(encoded_input) print('=============== Encodage ===============')
print(f'Message initial avec NYT : {with_nyt}') encoded_input = encode(args.encode)
print(f'Message initial sans NYT : {without_nyt}') print(f'Code final: {encoded_input}')
elif args.decode:
print('=============== Décodage ===============')
with_nyt, without_nyt = decode(args.decode)
print(f'Message initial avec NYT : {with_nyt}')
print(f'Message initial sans NYT : {without_nyt}')
if __name__ == "__main__": if __name__ == "__main__":
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment