this repo has no description
at master 584 B view raw
1ALPHABET = "234567abcdefghijklmnopqrstuvwxyz" 2DECODING_MAP = {v: k for k, v in enumerate(ALPHABET)} 3 4 5def encode_int(data: int, length: int) -> str: 6 encoded = "" 7 for i in range(0, length, 5): 8 c = data & 0b11111 9 data >>= 5 10 encoded += ALPHABET[c] 11 return "".join(reversed(encoded)) 12 13 14def decode_int(data: str) -> int: 15 decoded = 0 16 for letter in data: 17 if letter not in DECODING_MAP: 18 raise ValueError("Non-base32-sortable digit found") 19 20 decoded <<= 5 21 decoded += DECODING_MAP[letter] 22 return decoded