chinashiji 2023-12-24 15:19 采纳率: 66.7%
浏览 8
已结题

js解码函数求根据这个写个函数


function(t, e) { (function() {
                            "use strict";
                            for (var t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
                            n = new Uint8Array(256), r = 0; r < t.length; r++) n[t.charCodeAt(r)] = r;
                            e.encode = function(e) {
                                var n, r = new Uint8Array(e),
                                i = r.length,
                                o = "";
                                for (n = 0; n < i; n += 3) o += t[r[n] >> 2],
                                o += t[(3 & r[n]) << 4 | r[n + 1] >> 4],
                                o += t[(15 & r[n + 1]) << 2 | r[n + 2] >> 6],
                                o += t[63 & r[n + 2]];
                                return i % 3 === 2 ? o = o.substring(0, o.length - 1) + "=": i % 3 === 1 && (o = o.substring(0, o.length - 2) + "=="),
                                o
                            },
                            e.decode = function(t) {
                                var e, r, i, o, a, s = .75 * t.length,
                                c = t.length,
                                u = 0;
                                "=" === t[t.length - 1] && (s--, "=" === t[t.length - 2] && s--);
                                var l = new ArrayBuffer(s),
                                f = new Uint8Array(l);
                                for (e = 0; e < c; e += 4) r = n[t.charCodeAt(e)],
                                i = n[t.charCodeAt(e + 1)],
                                o = n[t.charCodeAt(e + 2)],
                                a = n[t.charCodeAt(e + 3)],
                                f[u++] = r << 2 | i >> 4,
                                f[u++] = (15 & i) << 4 | o >> 2,
                                f[u++] = (3 & o) << 6 | 63 & a;
                                return l
                            }
                        })}

这是一个JS文件中的编码和解码函数

谁帮我根据这个写个完整的解码函数,function decode(){ }比如能解码这一段


eyIxNDc3Mjc0MDg0NTgxMTc1Mjk2IjpbIjE0NzcyNzQwODQ1ODExNzUyOTciLCIxNDc3Mjc0MDg0NTgxMTc1MzAwIiwiMTQ3NzI3NDA4NDU4MTE3NTI5OSIsIjE0NzcyNzQwODQ1ODExNzUyOTgiXSwiMTQ3NzgxNjExODkxNjI4MDMyMCI6IjE0Nzc4MTYxMTg5MTYyODAzMjEiLCIxNDc3Mjc0MDg0NjAyMTQ2ODE2IjpbIjE0NzcyNzQwODQ2MDIxNDY4MTgiLCIxNDc3Mjc0MDg0NjAyMTQ2ODIwIiwiMTQ3NzI3NDA4NDYwMjE0NjgxNyIsIjE0NzcyNzQwODQ2MDIxNDY4MTkiXSwiMTQ3NzgxNjExODkxMjA4NjAxNiI6IjE0Nzc4MTYxMTg5MTIwODYwMTciLCIxNDc3Mjc0MDg0NTc2OTgwOTk3IjpbIjE0NzcyNzQwODQ1NzY5ODEwMDAiLCIxNDc3Mjc0MDg0NTc2OTgxMDAxIiwiMTQ3NzI3NDA4NDU3Njk4MDk5OSIsIjE0NzcyNzQwODQ1NzY5ODA5OTgiXSwiMTQ3NzgxNjExODg3MDE0Mjk3NiI6IjE0Nzc4MTYxMTg4NzAxNDI5NzciLCIxNDc3ODE2MTYwODY3NzA4OTQwIjoiMTQ3NzgxNjE2MDg2NzcwODk0MiIsIjE0NzcwODU4NzM2ODY1NzcxNTIiOlsiMTQ3NzA4NTg3MzY5MDc3MTQ1NiIsIjE0NzcwODU4NzM2OTQ5NjU3NjAiLCIxNDc3MDg1ODczNjk5MTYwMDY1IiwiMTQ3NzA4NTg3MzY5OTE2MDA2NCJdLCIxNDcwNTAzMzYyNzM5MDQ4NDQ4IjoiMTQ3MDUwMzM2Mjc1MTYzMTM2MCIsIjE0NzA1MDQ0NjkwNjIzNTI4OTYiOiIxNDcwNTA0NDY5MDY2NTQ3MjAwIiwiMTQ3NzA3ODI3MzU2OTg1MzQ0MCI6IjE0NzcwNzgyNzM1ODY2MzA2NTYiLCIxNDc3ODE2MTYwODI1NzY1ODk0IjoiMTQ3NzgxNjE2MDgyNTc2NTg5NSIsIjE0Nzc4MTYxMTg4OTUzMDg4MDUiOiIxNDc3ODE2MTE4ODk1MzA4ODA2IiwiMTQ3NzgxNjE2MDg2NzcwODkzMSI6IjE0Nzc4MTYxNjA4Njc3MDg5MzIiLCIxNDc3ODE2MTE4ODQ5MTcxNDYxIjoiMTQ3NzgxNjExODg0OTE3MTQ2MiIsIjE0Nzc4MTYxNjA4ODAyOTE4NDAiOiIxNDc3ODE2MTYwODgwMjkxODQxIiwiMTQ3NzgxNjExODgzNjU4ODU0NCI6IjE0Nzc4MTYxMTg4MzY1ODg1NDUiLCIxNDc3ODE2MTE4ODQ5MTcxNDU2IjoiMTQ3NzgxNjExODg0OTE3MTQ1NyIsIjE0Nzc4MTYxMTg5NjY2MTE5NjgiOiIxNDc3ODE2MTE4OTY2NjExOTY5IiwiMTQ3NzI3NDA4NDYwNjM0MTEyMCI6WyIxNDc3Mjc0MDg0NjA2MzQxMTI0IiwiMTQ3NzI3NDA4NDYwNjM0MTEyMSIsIjE0NzcyNzQwODQ2MDYzNDExMjMiLCIxNDc3Mjc0MDg0NjA2MzQxMTIyIl19
  • 写回答

2条回答 默认 最新

  • 社区专家-Monster-XH 2023-12-24 15:23
    关注

    基于Monster 组和AIGC的调写:若有帮助,还望采纳~~:

    
    function decode(encodedString) {
        var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
        var output = [];
        var chr1, chr2, chr3;
        var enc1, enc2, enc3, enc4;
        var i = 0;
    
        encodedString = encodedString.replace(/[^A-Za-z0-9\+\/\=]/g, "");
    
        while (i < encodedString.length) {
            enc1 = keyStr.indexOf(encodedString.charAt(i++));
            enc2 = keyStr.indexOf(encodedString.charAt(i++));
            enc3 = keyStr.indexOf(encodedString.charAt(i++));
            enc4 = keyStr.indexOf(encodedString.charAt(i++));
    
            chr1 = (enc1 << 2) | (enc2 >> 4);
            chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
            chr3 = ((enc3 & 3) << 6) | enc4;
    
            output.push(String.fromCharCode(chr1));
    
            if (enc3 != 64) {
                output.push(String.fromCharCode(chr2));
            }
            if (enc4 != 64) {
                output.push(String.fromCharCode(chr3));
            }
        }
    
        output = output.join('');
        return output;
    }
    
    // 示例使用
    var encodedData = "eyIxNDc3Mjc0MDg0NTgxMTc1Mjk2IjpbIjE0NzcyNzQwODQ1ODExNzUyOTciLCIxNDc3Mjc0MDg0NTgxMTc1MzAwIiwiMTQ3NzI3NDA4NDU4MTE3NTI5OSIsIjE0NzcyNzQwODQ1ODExNzUyOTgiXSwiMTQ3NzgxNjExODkxNjI4MDMyMCI6IjE0Nzc4MTYxMTg5MTYyODAzMjEiLCIxNDc3Mjc0MDg0NjAyMTQ2ODE2IjpbIjE0NzcyNzQwODQ2MDIxNDY4MTgiLCIxNDc3Mjc0MDg0NjAyMTQ2ODIwIiwiMTQ3NzI3NDA4NDYwMjE0NjgxNyIsIjE0NzcyNzQwODQ2MDIxNDY4MTkiXSwiMTQ3NzgxNjExODkxMjA4NjAxNiI6IjE0Nzc4MTYxMTg5MTIwODYwMTciLCIxNDc3Mjc0MDg0NTc2OTgwOTk3IjpbIjE0NzcyNzQwODQ1NzY5ODEwMDAiLCIxNDc3Mjc0MDg0NTc2OTgxMDAxIiwiMTQ3NzI3NDA4NDU3Njk4MDk5OSIsIjE0NzcyNzQwODQ1NzY5ODA5OTgiXSwiMTQ3NzgxNjExODg3MDE0Mjk3NiI6IjE0Nzc4MTYxMTg4NzAxNDI5NzciLCIxNDc3ODE2MTYwODY3NzA4OTQwIjoiMTQ3NzgxNjE2MDg2NzcwODk0MiIsIjE0NzcwODU4NzM2ODY1NzcxNTIiOlsiMTQ3NzA4NTg3MzY5MDc3MTQ1NiIsIjE0NzcwODU4NzM2OTQ5NjU3NjAiLCIxNDc3MDg1ODczNjk5MTYwMDY1IiwiMTQ3NzA4NTg3MzY5OTE2MDA2NCJdLCIxNDcwNTAzMzYyNzM5MDQ4NDQ4IjoiMTQ3MDUwMzM2Mjc1MTYzMTM2MCIsIjE0NzA1MDQ0NjkwNjIzNTI4OTYiOiIxNDcwNTA0NDY5MDY2NTQ3MjAwIiwiMTQ3NzA3ODI3MzU2OTg1MzQ0MCI6IjE0NzcwNzgyNzM1ODY2MzA2NTYiLCIxNDc3ODE2MTYwODI1NzY1ODk0IjoiMTQ3NzgxNjE2MDgyNTc2NTg5NSIsIjE0Nzc4MTYxMTg4OTUzMDg4MDUiOiIxNDc3ODE2MTE4ODk1MzA4ODA2IiwiMTQ3NzgxNjE2MDg2NzcwODkzMSI6IjE0Nzc4MTYxNjA4Njc3MDg5MzIiLCIxNDc3ODE2MTE4ODQ5MTcxNDYxIjoiMTQ3NzgxNjExODg0OTE3MTQ2MiIsIjE0Nzc4MTYxNjA4ODAyOTE4NDAiOiIxNDc3ODE2MTYwODgwMjkxODQxIiwiMTQ3NzgxNjExODgzNjU4ODU0NCI6IjE0Nzc4MTYxMTg4MzY1ODg1NDUiLCIxNDc3ODE2MTE4ODQ5MTcxNDU2IjoiMTQ3NzgxNjExODg0OTE3MTQ1NyIsIjE0Nzc4MTYxMTg5NjY2MTE5NjgiOiIxNDc3ODE2MTE4OTY2NjExOTY5IiwiMTQ3NzI3NDA4NDYwNjM0MTEyMCI6WyIxNDc3Mjc0MDg0NjA2MzQxMTI0IiwiMTQ3NzI3NDA4NDYwNjM0MTEyMSIsIjE0NzcyNzQwODQ2MDYzNDExMjMiLCIxNDc3Mjc0MDg0NjA2MzQxMTIyIl19";
    var decodedData = decode(encodedData);
    console.log(decodedData);
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月1日
  • 已采纳回答 12月24日
  • 创建了问题 12月24日