【汇顶科技笔试】编程题

题目: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

相关推荐

点赞 评论 收藏
分享
fRank1e:吓得我不敢去外包了,但是目前也只有外包这一个实习,我还要继续去吗
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 11:24
大家还是用ai改吧,我心疼得要死,就当花钱买教训吧,人家直接拿完钱就跑路了
程序员小白条:简历修改700....神奇,又不是帮你面试,咋的,简历修改从双非变92了还是没实习变成有大厂实习了
点赞 评论 收藏
分享
评论
2
4
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务