【发布时间】:2015-02-08 00:22:31
【问题描述】:
我这里有将 ASCII 转换为 Base 64 的代码,输入“Cat”给我输出 基数 64 是 Q 基数 64 是 2 基数 64 是 F 基数 64 为 0
我怎样才能使输出打印在一行上,这样“Cat”就会给出“Base 64 is Q2F0”?
b64_table = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
number = 0
numchar = 0
code = 0
user_input = input("Input")
for char in user_input:
numchar = numchar + 1
if numchar == 1:
number = ord(char)
elif numchar > 1:
number = ord(char) + (number << 8)
if numchar == 3:
i=3
for i in (3,2,1,0):
code = number >> (6 * i )
#print(int(code))
print("Yout base64 is "+ b64_table[int(code)])
number = number - (code << (6 * i))
【问题讨论】:
-
您可以在迭代过程中将结果的片段追加到一个字符串中,然后在最后输出最终的字符串。
-
我真的不明白你为什么不使用base64.encode。
-
@bconstanzo:我真的不明白为什么人们在学习编码时不能尝试了解 base64 的工作原理。
标签: python python-3.x printing line