永发信息网

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

答案:1  悬赏:80  手机版
解决时间 2021-04-06 05:51
  • 提问者网友:临风不自傲
  • 2021-04-05 23:57
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}
最佳答案
  • 五星知识达人网友:未来江山和你
  • 2021-04-06 00:33
应该是这样的:
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')
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯