Various changes
[python_utils.git] / letter_compress.py
index 4374edd352eab5e19e7c0a6a39345d63220d0d10..378ecbcbf433f02c006a21633110e7f0b397dea0 100644 (file)
@@ -4,7 +4,6 @@ import bitstring
 
 from collect.bidict import bidict
 
-
 special_characters = bidict(
     {
         ' ': 27,
@@ -26,6 +25,12 @@ def compress(uncompressed: str) -> bytes:
     >>> binascii.hexlify(compress('this is a test'))
     b'a2133da67b0ee859d0'
 
+    >>> binascii.hexlify(compress('scot'))
+    b'98df40'
+
+    >>> binascii.hexlify(compress('scott'))
+    b'98df4a00'
+
     """
     compressed = bitstring.BitArray()
     for (n, letter) in enumerate(uncompressed):
@@ -50,11 +55,15 @@ def decompress(kompressed: bytes) -> str:
     >>> decompress(binascii.unhexlify(b'a2133da67b0ee859d0'))
     'this is a test'
 
+    >>> decompress(binascii.unhexlify(b'98df4a00'))
+    'scott'
+
     """
     decompressed = ''
     compressed = bitstring.BitArray(kompressed)
     for chunk in compressed.cut(5):
         chunk = chunk.uint
+        print(f'0x{chunk:x}')
         if chunk == 0:
             break
         elif 1 <= chunk <= 26: