Base62短链编码是一种将长链接(URL)转换为短链接的编码方式,使用62个字符(包括数字0-9、大小写字母A-Z和a-z)表示编码结果。以下是一个简单的示例实现:
BASE62_ALPHABET = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
def encode_base62(n):
result = ''
while n > 0:
remainder = n % 62
result = BASE62_ALPHABET[remainder] + result
n //= 62
return result
def decode_base62(s):
result = 0
power = len(s) - 1
for c in s:
value = BASE62_ALPHABET.index(c)
result += value * (62 ** power)
power -= 1
return result
# 示例用法:
original_url = 'https://www.example.com/some/long/url'
encoded_url = encode_base62(hash(original_url))
print("Encoded URL:", encoded_url)
decoded_hash = decode_base62(encoded_url)
decoded_url = get_original_url_from_hash(decoded_hash)
print("Decoded URL:", decoded_url)
请注意,这只是一个简单的示例,并不包含完整的错误处理和持久化逻辑。在实际应用中,你可能需要更复杂的算法或库来生成短链接,并存储对应关系以便还原原始URL。
内容由零声教学AI助手提供,问题来源于学员提问