1
我有一個我想要在網絡用戶界面中顯示的實體數據庫。我想要一個簡短的字母數字字符串,我可以從實體的密鑰中生成。我得出的結論是base32是一個很好的解決方案(特別是因爲我想讓這些密鑰不區分大小寫,所以可以用口頭方式閱讀等)。是否有比以下更短或更高的空間效率?網址的Python密鑰生成策略
import base64
def b32urlencode(x):
return base64.b32encode(x).strip('=').lower()
def b32urldecode(x):
return base64.b32decode(x + ('=' * (8 - (len(x) % 8))))
爲什麼Base32而不是Base64?後者更緊湊,只需稍作調整即可成爲有效的URL段落。 –
請參見[將UUID 32個字符的十六進制字符串轉換爲「YouTube風格」簡稱,並返回](http://stackoverflow.com/a/12270917)。 –
這非常有趣(我正在看它)。我選擇base32是因爲我希望它不區分大小寫(例如,在需要通過電話閱讀時)。 – Aaron