Login

int_to_base36 and base36_to_int

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

  1. Judge login require by url by zuroc 7 years, 9 months ago
  2. convert youtube url for iframe, js api by ivanff 2 years, 1 month ago
  3. Goo.gl URL shortener by aabele 4 years, 7 months ago
  4. Never cache a group of URLs by ChipX86 7 years, 9 months ago
  5. RestMiddleware - automatically load objects from url-path by dhke 8 months, 1 week ago

Comments

Please login first before commenting.