summaryrefslogtreecommitdiff
path: root/letter_compress.py
diff options
context:
space:
mode:
authorScott Gasch <[email protected]>2021-09-28 23:27:51 -0700
committerScott Gasch <[email protected]>2021-09-28 23:27:51 -0700
commit986d5f7ada15e56019518db43d07b76f94468e1a (patch)
treeac3460a13667ac3dc8aa1e84c6b4fc8cfee648dc /letter_compress.py
parent0bc6e4312cad0f997751739e750954ac39dfa6cc (diff)
Various changes
Diffstat (limited to 'letter_compress.py')
-rw-r--r--letter_compress.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/letter_compress.py b/letter_compress.py
index 4374edd..378ecbc 100644
--- a/letter_compress.py
+++ b/letter_compress.py
@@ -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: