\xef\xbb\xbfusing System;\x0d using System.Collections.Generic;\x0d \x0d namespace Base10To32\x0d {\x0d class Program\x0d {\x0d static void Main(string[] args)\x0d {\x0d List<long> data = new List<long>()\x0d {\x0d 1, 35, 36, 37, 68014200, 1201688513203, 1838984, 49775, 50295, 129196161522745, 50488, 571926,\x0d 22478289, 419, 29223469995, 40006930423496, 41227384038070, 41555988836517, 12, 864529515,\x0d 60476128582252077, 32290924359, 23721572, 1645987040163039, 24047518, 654775, 13,\x0d 2373830872869027112, 493, 18713, 1022496015, 1407784785105, 1461815574763, 785490, 2025509547646187,\x0d 29366140, 40202259743, 22302, 42704054376, 616, 2165721364445219, 1155892318, 31368961, 1161355368,\x0d 22942, 44364298055, 929093, 690, 19, 977254, 2507368361614841, 27180, 20, 1038789, 39913104,\x0d 2041273739771, 1498659750, 1097185, 29869, 818, 2115636644911, 1546005679, 1139872, 42175921, \x0d 58084576487, 60024501243, 1231446, 45602225, 1688228688, 1802461611, 1753775638, 65143639721,\x0d 1286511, 47600913, 34879, 1291514, 1291721, 3336077465910569, 1785446597, 1798813520, 66556100243, \x0d 36059, 27, 51327457, 1388051, 1409142, 1409766, 53098821, 1965001823, 38863, 100465080334706,\x0d 1985968139, 2726916905099, 40166, /*276088010547702691069957,*/ 2908444116020, 1594018, 43127, 1635340, 60859915, 4220272028585755,\x0d 45479, 62672655, 1711641, 48211, 48968\x0d };\x0d \x0d Base37 b37 = new Base37();\x0d foreach (var item in data)\x0d {\x0d Console.WriteLine(b37.ChangeToB32(item));\x0d if(item == 40166) Console.WriteLine("universallambda");\x0d }\x0d \x0d Console.Read();\x0d }\x0d }\x0d \x0d public class Base37\x0d {\x0d private const long Base = 37;\x0d private char[] B32;\x0d private List<char> result;\x0d \x0d public Base37()\x0d {\x0d result = new List<char>();\x0d B32 = new char[]\x0d {\x0d '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\x0d 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', \x0d 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', \x0d 'u', 'v', 'w', 'x', 'y', 'z', 'A'\x0d };\x0d }\x0d \x0d public string ChangeToB32(long number)\x0d {\x0d while (number > 0)\x0d {\x0d result.Add(B32[number % Base]);\x0d number = number / Base;\x0d }\x0d \x0d var charArray = result.ToArray();\x0d result.Clear();\x0d return ReverseXor(charArray);\x0d }\x0d \x0d public static string ReverseXor(char[] charArray)\x0d {\x0d int len = charArray.Length - 1;\x0d \x0d for (int i = 0; i < len; i++, len--)\x0d {\x0d charArray[i] ^= charArray[len];\x0d charArray[len] ^= charArray[i];\x0d charArray[i] ^= charArray[len];\x0d }\x0d return new string(charArray);\x0d }\x0d }\x0d \x0d }\x0d
Note that non-ascii characters in the above source code will be escaped (such as \x9f).