[utils] Merge base_n functions
[youtube-dl] / youtube_dl / utils.py
index a3df90fadd40ece81b7daddbeb0f4e2904ddf6bb..900e07a8ec74f529e7bca0eec8b6bafb39ff5faf 100644 (file)
@@ -2619,3 +2619,19 @@ def ohdave_rsa_encrypt(data, exponent, modulus):
     payload = int(binascii.hexlify(data[::-1]), 16)
     encrypted = pow(payload, exponent, modulus)
     return '%x' % encrypted
+
+
+def base_n(num, n, table=None):
+    if num == 0:
+        return '0'
+
+    FULL_TABLE = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
+    assert n <= len(FULL_TABLE)
+    if not table:
+        table = FULL_TABLE[:n]
+
+    ret = ''
+    while num:
+        ret = table[num % n] + ret
+        num = num // n
+    return ret