Используйте hex(id)[2:]
и int(urlpart, 16)
. Есть другие варианты. Кодировка base32 вашего идентификатора также может сработать, но я не знаю, есть ли библиотека, которая выполняет кодирование base32, встроенную в Python.
Очевидно, кодер base32 был представлен в Python 2.4 с модулем base64 . Вы можете попробовать использовать b32encode
и b32decode
. Вы должны указать True
для параметров casefold
и map01
на b32decode
на тот случай, если люди запишут ваши сокращенные URL-адреса.
На самом деле, я забираю это обратно. Я все еще думаю, что кодировка base32 - это хорошая идея, но этот модуль бесполезен в случае сокращения URL. Вы можете посмотреть на реализацию в модуле и сделать свою собственную для этого конкретного случая. : -)