Base64编码是计算机常见的一种编码方式,规则是把3个字节(24位)的数据按6位一组分成4组(24÷6=4),然后将每组数据分别转换为十进制,根据表15.1将这些十进制数所对应的字符连接,即为Base64编码。
表 15.1 Base64 编码表
索引
0
1
…
24
25
26
27
…
50
51
52
…
61
62
63
字符
A
B
…
Y
Z
a
b
…
y
Z
0
…
9
+
-
以编码字符“Web”为例,如表15.2所示,字符“Web”对应的ASCII编码分别是87,101,98,分别转换为8位二进制数,按6位二进制数分组后再转换成十进制,查找它们对应的字符,得到“Web”得Base64编码为“V2Vi”。
表15.2 Base编码方法
(1)
编码字符“Wea”的Base64编码为:
(2)
实现上述功能的 Python 代码如下,请在划线处填入合适的代码
s1=input('请输入编码字符:')
s=''
tmp=0
ans=''
txt='ABCDEFGHIJKLMNOPQRSTUVWSXYabcdefghijklmnopqrstuvwxyz012345678+/'
for
c in s1:
n=
t=''
for i in range(8): # 将十进制 n 转换为 8 位二进制
r=n%2
t=+t
n=n//2
s=s+t
for
i in range(len(s)): # 6 位二进制一组分组再转换成十进制,查找它们对应的字符
if i%6==5:
ans=ans+txt[tmp]
tmp=0
print('Base64
编码:',ans)
答案: 【1】V2Vh 或”V2Vh”
【1】ord(c)【2】str(r)【3】tmp=tmp+int(s[i])*2**(5-i%6)或 tmp=tmp*2+int(s[i])