Files

23 lines
588 B
Python
Raw Permalink Normal View History

from base64 import urlsafe_b64decode, urlsafe_b64encode
from uuid import UUID
def base64_to_bytes(key):
return urlsafe_b64decode(key + "==")
def bytes_to_base64(bytes):
# remove trailing = to save precious bytes
return urlsafe_b64encode(bytes).decode("ascii").rstrip("=")
def base64_to_uuid(value):
# uuids are 16 bytes, and will always have two ==s of padding
return UUID(bytes=urlsafe_b64decode(value.encode("ascii") + b"=="))
def uuid_to_base64(value):
if not isinstance(value, UUID):
value = UUID(value)
return bytes_to_base64(value.bytes)