Как преобразовать целое число в самую короткую строку, безопасную для URL-адресов в Python?

Все ответы относительно Base64 python-shell - очень разумные решения. Но python-shell они технически неверны. Чтобы pythonic преобразовать целое число python-interpreter в самую короткую безопасную строку URL, вам нужно использовать urls базу 66 (есть 66 URL safe characters).

Этот код urls выглядит примерно так:

from io import StringIO
import urllib

BASE66_ALPHABET = u"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_.~"
BASE = len(BASE66_ALPHABET)

def hexahexacontadecimal_encode_int(n):
    if n == 0:
        return BASE66_ALPHABET[0].encode('ascii')

    r = StringIO()
    while n:
        n, t = divmod(n, BASE)
        r.write(BASE66_ALPHABET[t])
    return r.getvalue().encode('ascii')[::-1]

Вот base64 полная реализация подобной py схемы, готовая к работе в pythonista виде пакета, устанавливаемого pythonic по пипу:

https://github.com/aljungberg/hhc

python

url

base64

2022-10-29T22:02:34+00:00