diff --git a/text_codecs/ascii5.py b/text_codecs/ascii5.py index d43273c..fe3e5fa 100644 --- a/text_codecs/ascii5.py +++ b/text_codecs/ascii5.py @@ -1,8 +1,7 @@ -from custom_codecs.register import register_codec +from text_codecs.register import register_codec from easybits import Bits import string - chars = string.ascii_uppercase + " " char_to_num = {c: i for i, c in enumerate(chars)} num_to_char = {i: c for i, c in enumerate(chars)} @@ -14,10 +13,10 @@ def encode(text): for ch in text: if ch in char_to_num: num = char_to_num[ch] - b = Bits(uint=num, length=5) + b = Bits(format(num, "05b")) result = result.concat(b) - + while len(result) % 8 != 0: result = result.concat(Bits('0')) @@ -31,11 +30,10 @@ def decode(data): chunk = bits[i:i+5] if len(chunk) < 5: break - num = chunk.uint + num = int(str(chunk), 2) if num in num_to_char: text += num_to_char[num] return text - register_codec(encode, decode, "ascii5")