永发信息网

哪位能把下面这段javascript 转成Python

答案:1  悬赏:80  手机版
解决时间 2021-04-06 05:51
function B(a){var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var c,d,e,f,g,h,i,j,k=0,l=0,m="",n=[];if(!a){return a}a+="";do{f=b.indexOf(a.charAt(k++));g=b.indexOf(a.charAt(k++));h=b.indexOf(a.charAt(k++));i=b.indexOf(a.charAt(k++));j=f<<18|g<<12|h<<6|i;c=j>>16&255;d=j>>8&255;e=j&255;if(h==64){n[l++]=String.fromCharCode(c)}else if(i==64){n[l++]=String.fromCharCode(c,d)}else{n[l++]=String.fromCharCode(c,d,e)}}while(k<a.length);m=n.join("");return m}
最佳答案
应该是这样的:
def B(a):
    b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
    k=0
    m=""
    n=[];
    if not a:
        return a
    a+=""

    while True:
        f=b.find(a[k])
        k += 1
        g=b.find(a[k])
        k += 1
        h=b.find(a[k])
        k += 1
        i=b.find(a[k])
        k += 1
        j=f<<18|g<<12|h<<6|i
        c=j>>16&255;
        d=j>>8&255;
        e=j&255;
        if h==64:
            n.append(chr(c))
        elif i==64:
            n.append(chr(c)+chr(d))
        else:
            n.append(chr(c)+chr(d)+chr(e))
        if k>=len(a):
            break

    m = "".join(n)

    return m


print B('ABCDEFGH')
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
狗狗经常洗澡好么
石家庄方言朗诵的诗歌,冯巩、李奇、姜昆、奇
有人玩过psvr版亚利桑那阳光的吗
UC浏览器 小说 下载完成之后经常出现 目录转
夫妻之间借条怎么写
据世界信息技术和服务联盟发表的一份研究报告
lol今天把把匹配到坑比,天天都是同一个人,
表扬小区保安的句子,跟卫生有关的句子
月经三十多天也干净不了怎么办?
呼吸运动的实验结果
我是赤峰的,想来河北卖小米,怎么办
文科生和理科生到高考能不能报同一个大学?
对未来的憧憬的诗歌,唯美古韵诗词要积极一些
选出修辞方法与例句不同的一项例句:紧随着他
请问日本下一任天皇是谁
推荐资讯
今天第20天卵泡20乘以16乘以16,请问正常
祝福学校生日的祝福语,儿子18岁生日,读高二人
QQ飞车中出现频率比较高的几首歌是哪几首?求
剑三纯阳的诗句,剑网三纯阳成男古风名字~5个
小车注销需要什么手续,小车注销需要什么手续
李准基《for a while》音译歌词
C|othes,ta1k,1,about,can组成一句话
东郭履\袁安卧\孙康映读\子猷舟&
微信电子相册如何制作,如何在微信里制作相册
网一最强王者在电一什么水平
菜园里的羊角葱歇后语,葱和蒜是什么关系
宜人贷欠款
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?