def __10to62(num):
"""
10进制转62进制
"""
base_scale = 62
chars = [
'3', 'a', '7', 'n', '2', 'b', 'H', 'm', 'E', '4', 's',
'M', 'f', 'Z', 'I', 'Y', 'K', 'x', 'q', 'U', 'o', 'l',
'L', 'D', '5', 'd', 'Q', 'h', 'i', 'y', 'J', 'k', 't',
'c', 'w', 'A', 'O', 'T', 'u', 'e', '6', '8', 'j', 'G',
'C', 'V', 'N', 'z', 'X', 'S', 'F', '1', 'P', '9', 'B',
'0', 'p', 'v', 'W', 'R', 'g', 'r'
]
res = ''
while num > base_scale-1:
remainder = num % base_scale
res += chars[remainder]
num = num // base_scale
res += chars[num]
# 生成6位的字符,若不满6位则往前添0
if len(res) < 6:
for _ in range(6-len(res)):
res = '0' + res
return res
10进制转62进制的算法,可以用来生成短链