- Author:
- simon
- Posted:
- July 7, 2008
- Language:
- Python
- Version:
- .96
- Tags:
- urls base36
- Score:
- 1 (after 1 ratings)
If your URLs need to contain numeric IDs a neat way of shortening them is to use base36.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | def base36_to_int(s):
return int(s, 36)
def int_to_base36(i):
digits = "0123456789abcdefghijklmnopqrstuvwxyz"
factor = 0
# Find starting factor
while True:
factor += 1
if i < 36 ** factor:
factor -= 1
break
base36 = []
# Construct base36 representation
while factor >= 0:
j = 36 ** factor
base36.append(digits[i / j])
i = i % j
factor -= 1
return ''.join(base36)
|
More like this
- "Magic Link" Management Command by webology 3 weeks, 3 days ago
- Closest ORM models to a latitude/longitude point by simonw 3 weeks, 3 days ago
- Log the time taken to execute each DB query by kennyx46 3 weeks, 3 days ago
- django database snippet by ItsRLuo 1 month ago
- Serialize a model instance by chriswedgwood 1 month, 4 weeks ago
Comments
Please login first before commenting.