【汇顶科技笔试】编程题

题目: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-20 19:57
已编辑
某大厂 golang工程师 23.0k*16.0, 2k房补,年终大概率能拿到
点赞 评论 收藏
分享
伟大的烤冷面被普调:暨大✌🏻就是强
点赞 评论 收藏
分享
冲芭芭拉鸭:你这图还挺新,偷了。
投递美团等公司10个岗位
点赞 评论 收藏
分享
2 4 评论
分享
牛客网
牛客企业服务