- 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
- Automatically setup raw_id_fields ForeignKey & OneToOneField by agusmakmun 8 months, 1 week ago
- Crispy Form by sourabhsinha396 9 months ago
- ReadOnlySelect by mkoistinen 9 months, 2 weeks ago
- Verify events sent to your webhook endpoints by santos22 10 months, 1 week ago
- Django Language Middleware by agusmakmun 10 months, 3 weeks ago
Comments
Please login first before commenting.