generated from mwc/lab_compression
this was hard, lol
This commit is contained in:
32
text_codecs/ascii6.py
Normal file
32
text_codecs/ascii6.py
Normal file
@@ -0,0 +1,32 @@
|
||||
"""
|
||||
ascii6 codec
|
||||
|
||||
Compression idea:
|
||||
Use only lower-case letters and spaces.
|
||||
Everything else is removed.
|
||||
|
||||
Compression rate:
|
||||
Better than ascii7 because fewer characters are stored.
|
||||
|
||||
Quality loss:
|
||||
Uppercase letters, punctuation, and special characters are removed.
|
||||
"""
|
||||
|
||||
from custom_codecs.register import register_codec
|
||||
|
||||
|
||||
def encode(text):
|
||||
cleaned = []
|
||||
|
||||
for c in text.lower():
|
||||
if c.isalpha() or c == " ":
|
||||
cleaned.append(c)
|
||||
|
||||
return "".join(cleaned).encode("ascii")
|
||||
|
||||
|
||||
def decode(data):
|
||||
return data.decode("ascii")
|
||||
|
||||
|
||||
register_codec("ascii6", encode, decode)
|
||||
Reference in New Issue
Block a user