【汇顶科技笔试】编程题

题目:Base64编码
text = input().strip()
text = [ord(x) for x in text] #获取ASCII数组

index = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
rest = len(text) % 3
#转成二进制字符串
bi = ""
for str in text:
    curStr = format(str, '#010b')[2:]
    bi += curStr
#二进制转索引,先看看是否需要扩充
inds = list()
if len(bi) % 6 != 0:
    for i in range(len(bi), (len(bi)//6 + 1)*6):
        bi += "0"
for i in range(0, len(bi), 6):
    cur = int(bi[i:i+6], 2)
    inds.append(cur)
#查询索引得到最终结果
res = ''
for ind in inds:
    res += index[ind]
if rest > 0:
    for i in range(3-rest):
        res += "="
print(res)




#汇顶科技##笔试题目#
全部评论
小姐姐你面的是什么岗位?
点赞 回复 分享
发布于 2019-08-26 21:41

相关推荐

不愿透露姓名的神秘牛友
11-21 17:16
科大讯飞 算法工程师 28.0k*14.0, 百分之三十是绩效,惯例只发0.9
点赞 评论 收藏
分享
10-24 13:36
门头沟学院 Java
Zzzzoooo:更新:今天下午有hr联系我去不去客户端,拒了
点赞 评论 收藏
分享
2 4 评论
分享
牛客网
牛客企业服务