表 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编码方法
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)