我正在编写一个程序,该程序需要能够将 base10 数字转换为 base64 数字,然后使用这个字母表再次返回:"0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM. "我查看了其他堆栈溢出问题,但这些解决方案都不起作用。我会很感激任何帮助,谢谢。
1 回答
翻阅古今
TA贡献1780条经验 获得超5个赞
尝试这个
s = "0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM. "
def encode(n):
ans = ''
if n == 0:
ans = s[0]
else:
while n:
r, n = n % 64, n // 64
ans += s[r]
return ans[::-1]
def decode(n):
ans, m = 0, 1
for char in n[::-1]:
ans += s.index(char) * m
m *= 64
return ans
print(encode(987654321))
print(decode('VZEnF'))
输出:
VZEnF
987654321
添加回答
举报
0/150
提交
取消
