- 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)
``` |

## Comments

Please login first before commenting.