From 1eb5bfb633a5f3874e74242576f5fdbbe5bccbf4 Mon Sep 17 00:00:00 2001 From: Holden Rohrer Date: Sat, 16 Nov 2019 08:12:57 -0500 Subject: added library abstraction for conversion --- final/rsautils.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 final/rsautils.py (limited to 'final/rsautils.py') diff --git a/final/rsautils.py b/final/rsautils.py new file mode 100644 index 0000000..236571c --- /dev/null +++ b/final/rsautils.py @@ -0,0 +1,29 @@ +def list2int(arr,base,endian="little"): + if endian == "big": + arr.reverse() + out = 0 + for num in arr: + out *= base + out += num + return out + +def int2list(num,base,endian="little"): + arr = [] + while num > 0: + arr.append(num%base) + num = num//base + if endian == "little": + arr.reverse() + return arr + +def int2string(num): + return ''.join([chr(charval) for charval in int2list(num,128)]) + +def string2int(string,endian="little"): + return list2int([ord(char) for char in string],128,endian=endian) + +def int2base64(num): + return ''.join([chr(charval+32) for charval in int2list(num,64)]) + +def base642int(code): + return list2int([ord(char)-32 for char in code],64) -- cgit