第13156题 程序题
补全实现Base64编码逻辑的Python代码

Base64编码

小王在学习信息技术时,对编码产生了浓厚的兴趣,她听老师说Base64编码是计算机常见的一种编码方式,于是她决定尝试自己编写一个简单的Base64编码工具。经过她的研究,发现Base64编码规则是把3个字节(24位)的数据按6位一组分成4组(24÷6=4),然后将每组数据分别转换为十进制,根据图1将这些十进制数所对应的字符连接,即为Base64编码。

图1 Base64索引对应表

以编码字符“Win”为例,如图2所示,字符“Win”对应的ASCII编码分别是87,105,110,分别转换为8位二进制数,按6位二进制数分组后再转换成十进制,查找它们对应的字符,得到“Win”的Base64编码为“V2lu”。

图2 Win编码示例

编写一个Python程序,实现上述功能。程序运行时,输入若干个字符(个数必须是3的倍数),输出Base64编码。实现上述功能的Python代码如下,请在划线处填入合适的代码。

s1 = input("请输入编码字符:")
tmp = 0
s = ""
ans = ""
Base64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
for x in s1:
    # ①
    t = ""
    for i in range(8): # 将十进制数n转换为8位二进制
        r = n % 2
        # ②
        n = n // 2
    s = s + t
for i in range(len(s)): # 6位二进制一组转换成十进制,查找Base64对应字符
    # ③
    if i % 6 == 5:
        ans = ans + Base64[tmp]
        # ④
print("Base64编码:", ans)
编辑模式
程序运行统计
暂无判题统计