Python短url生成器

Python短url生成器,python,short-url,Python,Short Url,我正在使用此代码生成短url 其思想是使用base62和函数enbase对整数id进行编码 class UrlEncoder(object): ... def enbase(self, x, min_length=0): result = self._enbase(x) padding = self.alphabet[0] * (min_length - len(result)) return '%s%s' % (padding,

我正在使用此代码生成短url

其思想是使用base62和函数enbase对整数id进行编码

class UrlEncoder(object):
    ...
    def enbase(self, x, min_length=0):
        result = self._enbase(x)
        padding = self.alphabet[0] * (min_length - len(result))
        return '%s%s' % (padding, result)
但我不太明白这段代码的用途:

class UrlEncoder(object):
    ...

    def encode_url(self, n, min_length=0):
        return self.enbase(self.encode(n), min_length)
    def decode_url(self, n):
        return self.decode(self.debase(n))
    def encode(self, n):
        return (n & ~self.mask) | self._encode(n & self.mask)
为什么要对数据库进行编码?那个按位操作是做什么的?
有人能告诉我一些情况吗?谢谢。

查看整个代码:
encode()
的净效果是将
\u encode()
应用于最低有效的
自身块大小
-值的许多位
\u encode()
显示为反转这些位。这似乎只是一点额外的混乱。代码下面的文档解释了他们为什么要做这些额外的洗牌。

您能显示一下
self.mask
的值吗?你能展示一下
\u encode
功能吗?在这里:>代码下面的文档解释了他们为什么要做这些额外的洗牌+1.